my.dtd is the standard XML Signature dtd. Here is a copy of the dtd.
<!-- DTD for XML Signatures
http://www.w3.org/2000/09/xmldsig# -->
<!-- These entity declarations permit the flexible parts of Signature
content model to be easily expanded -->
<!ENTITY % Object.ANY '(#PCDATA|Signature|SignatureProperties|Manifest)*'>
<!ENTITY % Method.ANY '(#PCDATA|HMACOutputLength)*'>
<!ENTITY % Transform.ANY '(#PCDATA|XPath|XSLT)*'>
<!ENTITY % Key.ANY '(#PCDATA|KeyName|KeyValue|RetrievalMethod|
X509Data|PGPData|MgmtData|DSAKeyValue|RSAKeyValue)*'>
<!-- Start Core Signature declarations, these should NOT be altered -->
<!ELEMENT Signature (SignedInfo, SignatureValue, KeyInfo?, Object*) >
<!ATTLIST Signature
xmlns CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'
Id ID #IMPLIED >
<!ELEMENT SignatureValue (#PCDATA) >
<!ELEMENT SignedInfo (CanonicalizationMethod,
SignatureMethod, Reference+) >
<!ATTLIST SignedInfo
Id ID #IMPLIED
>
<!ELEMENT CanonicalizationMethod %Method.ANY; >
<!ATTLIST CanonicalizationMethod
Algorithm CDATA #REQUIRED >
<!ELEMENT SignatureMethod %Method.ANY; >
<!ATTLIST SignatureMethod
Algorithm CDATA #REQUIRED >
<!ELEMENT Reference (Transforms?, DigestMethod, DigestValue) >
<!ATTLIST Reference
Id ID #IMPLIED
URI CDATA #IMPLIED
Type CDATA #IMPLIED>
<!ELEMENT Transforms (Transform+)>
<!ELEMENT Transform %Transform.ANY; >
<!ATTLIST Transform
Algorithm CDATA #REQUIRED >
<!ELEMENT XPath (#PCDATA) >
<!ELEMENT XSLT (#PCDATA) >
<!ELEMENT DigestMethod %Method.ANY; >
<!ATTLIST DigestMethod
Algorithm CDATA #REQUIRED >
<!ELEMENT DigestValue (#PCDATA) >
<!ELEMENT KeyInfo %Key.ANY; >
<!ATTLIST KeyInfo
Id ID #IMPLIED >
<!-- Key Information -->
<!ELEMENT KeyName %Key.ANY; >
<!ELEMENT KeyValue %Key.ANY; >
<!ELEMENT RetrievalMethod %Key.ANY; >
<!ELEMENT MgmtData %Key.ANY; >
<!-- X.509 Data -->
<!ELEMENT X509Data ((X509IssuerSerial | X509SKI | X509SubjectName)* |
X509Certificate | X509CRL)>
<!ELEMENT X509IssuerSerial (X509IssuerName, X509SerialNumber) >
<!ELEMENT X509IssuerName (#PCDATA) >
<!ELEMENT X509SubjectName (#PCDATA) >
<!ELEMENT X509SerialNumber (#PCDATA) >
<!ELEMENT X509SKI (#PCDATA) >
<!ELEMENT X509Certificate (#PCDATA) >
<!ELEMENT X509CRL (#PCDATA) >
<!-- X.509 Data -->
<!ELEMENT PGPData (PGPKeyID, PGPKeyPacket?) >
<!ELEMENT PGPKeyPacket (#PCDATA) >
<!ELEMENT PGPKeyID (#PCDATA) >
<!-- Extensible Content -->
<!ELEMENT Object %Object.ANY; >
<!ATTLIST Object
Id ID #IMPLIED
MimeType CDATA #IMPLIED
Encoding CDATA #IMPLIED >
<!ELEMENT Manifest (Reference+) >
<!ATTLIST Manifest
Id ID #IMPLIED >
<!ELEMENT SignatureProperties (SignatureProperty+) >
<!ATTLIST SignatureProperties
Id ID #IMPLIED >
<!ELEMENT SignatureProperty %Object.ANY; >
<!ATTLIST SignatureProperty
Target CDATA #REQUIRED
Id ID #IMPLIED >
<!-- Algorithm Parameters -->
<!ELEMENT HMACOutputLength (#PCDATA) >
<!ELEMENT DSAKeyValue (P, Q, G, Y, J?, (Seed, PgenCounter)?) >
<!ELEMENT P (#PCDATA) >
<!ELEMENT Q (#PCDATA) >
<!ELEMENT G (#PCDATA) >
<!ELEMENT Y (#PCDATA) >
<!ELEMENT J (#PCDATA) >
<!ELEMENT Seed (#PCDATA) >
<!ELEMENT PgenCounter (#PCDATA) >
<!ELEMENT RSAKeyValue (Modulus, Exponent) >
<!ELEMENT Modulus (#PCDATA) >
<!ELEMENT Exponent (#PCDATA) >
> -----Original Message-----
> From: Huynh, Dung
> Sent: Wednesday, November 13, 2002 6:06 PM
> To: '[EMAIL PROTECTED]'
> Subject: XercesDOMParser fail to handle default name
> space in root Element
>
>
> I ran across a problem of namespace parsing in Xerces C v2.1
> on Windows. Any input to why it happens is greatly appreciated.
>
> It seems that it doesn't like default namespace specified in
> root element.
>
> see line <Signature
> xmlns="http://www.w3.org/2000/09/xmldsig#"> in below
>
> The modified DOMPrint example give me exception error code 14
> when I parse the xml doc.
>
> The modified DOMPrint example has the following parser setting
> ...
>
> XercesDOMParser *parser = new XercesDOMParser;
>
> parser->setValidationScheme(XercesDOMParser::Val_Auto);
> parser->setDoValidation(false);
> parser->setDoNamespaces(true);
> parser->setDoSchema(true);
> parser->setValidationSchemaFullChecking(true);
> parser->setCreateEntityReferenceNodes(false);
>
> Here is the input file.
> ======================
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE Signature SYSTEM "my.dtd">
> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
> <SignedInfo>
> <CanonicalizationMethod
> Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
> <SignatureMethod
> Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
> <Reference URI="myObj">
> <DigestMethod
> Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
> <DigestValue>dTfs7EELdLYyqn9dIQ6foCilcII=</DigestValue>
> </Reference>
> </SignedInfo>
>
> <SignatureValue>J7DjYRRvVOZuM99zaKtzPXXYSwqYn1mElNgMG3xGqR1krI
> 7egJTQ/OKmprrk2z9g</SignatureValue>
> <Object Id="myObj"><Book>
> <Title>Java and XML</Title>
> <Contents>
> <Chapter id="chapter1">
> <Heading>Introduction</Heading>
> <Topic subSections="7">What Is It?</Topic>
> <Topic subSections="3">How Do I Use It?</Topic>
> <Topic subSections="4">Why Should I Use It?</Topic>
> <Topic subSections="0">What's Next?</Topic>
> </Chapter>
>
> <SectionBreak/>
>
> <Chapter focus="XML">
> <Heading>Creating XML</Heading>
> <Topic subSections="0">An XML Document</Topic>
> <Topic subSections="2">The Header</Topic>
> <Topic subSections="6">The Content</Topic>
> <Topic subSections="1"/>
> </Chapter>
>
> </Contents>
>
> </Book></Object></Signature>
>
> =====================
> Here is my.dtd
>
> << File: my.dtd >>
> =================
>
> If I change the line
>
> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
>
> to
>
> <t:Signature xmlns:t="http://www.w3.org/2000/09/xmldsig#">
>
> and line
>
> </Book></Object></Signature>
>
> to
>
> </Book></Object></t:Signature>
>
> DOMPrint parses and prints the xml file OK.
>
> -D
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]