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&apos;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]

Reply via email to