[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [dss] RE: Public comment, namespace inheritance
One more Example Konrad Lanz First <dss:XMLSignature> is somewhat similar to <dss:XMLData>. However inside <dss:XMLSignature> only Assuming the outer default namespace is the dss namespace then including of xmlns="" to remove the default namespace context or inheriting xmlns:dss="...." will break the signature To avoid that <XMLExampleDocument> would be believed to be in the outer default namespace a redeclaration of the default namespace to be empty (xmlns="") is required and we also need to get rid of the ancestry namespace context (i.e.xmlns:dss="...." xmlns:XXX="..." etc..) . Assume an Enveloping Signature that looks like this: <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> ..... <ds:Object Id="object"><XMLExampleDocument>...</XMLExampleDocument></ds:Object> </ds:Signature> It would however be broken by something like this: <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="" xmlns:dss="...." xmlns:XXX="..."> ..... <ds:Object Id="object"><XMLExampleDocument>...</XMLExampleDocument></ds:Object> </ds:Signature> However the following is allright in XML 1.0: <dss:XMLSignature xmlns="" xmlns:dss="...." xmlns:XXX="..."> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> ..... <ds:Object Id="object"><XMLExampleDocument>...</XMLExampleDocument></ds:Object> </ds:Signature> </dss:XMLSignature> as the ds:Signature Node can be freed from its ancestry context (here xmlns:dss="...." xmlns:XXX="...") by using DOM's importNode method and importing it into a new document. In XML 1.1 even any association of the prefix with a namespace name could be removed by empty values. <dss:XMLSignature xmlns="" xmlns:dss="" xmlns:XXX=""> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> ..... <ds:Object Id="object"><XMLExampleDocument>...</XMLExampleDocument></ds:Object> </ds:Signature> </dss:XMLSignature> and the importNode trick is not required any more. |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]