- From: merlin <merlin@baltimore.ie>
- Date: Tue, 04 Jun 2002 17:42:56 +0100
- To: "John Boyer" <JBoyer@pureedge.com>
- Cc: w3c-ietf-xmldsig@w3.org
Sure: exc-c14n[1] does not render a namespace node if the nearest output ancestor of its parent element *that visibly utilizes the namespace prefix* has a namespace node in the node-set with the same namespace prefix and value as N. The b:B element does not visibly use the default namespace prefix, so the exc-c14n specification does not expect that it will have rendered a value for it. Hence, when the spec renders C, it looks to A, sees the same definition and suppresses the namespace node. This is only an issue because xmlns="" isn't in the node set, so has special-case handling in c14n. We need corresponding special-case handling in exc-c14n. Merlin [1] http://www.w3.org/Signature/Drafts/xml-exc-c14n.html r/JBoyer@pureedge.com/2002.06.04/09:19:38 > > >Hi Merlin, > >Not to be obtuse, but could you please explain exactly why the default >namespace declaration in element C disappears: > ><merlin> >Ref: http://www.w3.org/Signature/Drafts/xml-exc-c14n.html > >1) Bug in the Specification > >Consider the following document: > <A xmlns="http://example.org/"> > <b:B xmlns:b="http://example.org/b" xmlns=""> > <C xmlns="http://example.org/"> > </b:B> > </A> > >Because we inherit xmlns="" behaviour from c14n, this >will be rendered so: > <A xmlns="http://example.org/"> > <b:B xmlns="" xmlns:b="http://example.org/b"> > <C></C> > </b:B> > </A> > ><snip/> ></merlin> > >Thanks, >John Boyer >
Received on Tuesday, 4 June 2002 12:43:28 UTC