- From: Ari Kermaier <arik@phaos.com>
- Date: Fri, 20 Sep 2002 16:46:21 -0400
- To: "W3C XML-ENC WG List" <xml-encryption@w3.org>
Dear All, I'm confused about the rules for augmenting/wrapping/parsing decrypted XML in XML Encryption and Decryption Transform. Given the example from [1]: <!DOCTYPE Document [ <!ENTITY dsig "http://www.w3.org/2000/09/xmldsig#"> ]> <Document xmlns="http://example.org/"> <foo:Body xmlns:foo="http://example.org/foo"> <EncryptedData xmlns="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element"> ... </EncryptedData> </foo:Body> </Document> Where the EncryptedData element decrypts to: <One><foo:Two/></One> The text gives the following as the correct result: <!DOCTYPE dummy [ <!ENTITY dsig "http://www.w3.org/2000/09/xmldsig#"> ]> <dummy xmlns="http://example.org/" xmlns:foo="http://example.org/foo"><One><foo:Two/></One></dummy> However, [2] indicates that <Foo/> parsed in the context of: <Bar xmlns="http://example.org/bar"/> Should be augmented to produce: <Bar xmlns="http://example.org/bar"><Foo xmlns="" /></Bar> Wouldn't this mean that the example from [1] should give the result as: <!DOCTYPE dummy [ <!ENTITY dsig "http://www.w3.org/2000/09/xmldsig#"> ]> <dummy xmlns="http://example.org/" xmlns:foo="http://example.org/foo"><One xmlns=""><foo:Two/></One></dummy> But this doesn't make sense to me, since the point of giving the parsing context to the dummy element is to make sure that inherited namespaces *are* transmitted to the wrapped XML. Further: [3] indicates, for Step 2 of decryptXML(N, E), that: "A namespace declaration xmlns="" MUST be emitted with every apex element that has no namespace prefix and URI as described in Serializing XML [XML-Encryption, section 4.3.3]". Firstly, we're talking about the apex elements in a node-set, which might include namespace nodes for the default namespace inherited from the dummy element in prior wrapping/parsing -- this means that an element without a namespace prefix is not necessarily without a namespace, and emitting xmlns="" would conflict with emission of the namespace node in the node-set. What am I missing? Thanks, Ari Kermaier ----------------- [1] http://www.w3.org/TR/xmlenc-core/#sec-Text-Wrapping [2] http://www.w3.org/TR/xmlenc-core/#sec-Serializing-XML [3] http://www.w3.org/Encryption/2001/Drafts/xmlenc-decrypt.html#sec-xml-process ing
Received on Friday, 20 September 2002 16:47:10 UTC