- From: Gregor Karlinger <gregor.karlinger@iaik.at>
- Date: Fri, 1 Dec 2000 09:06:41 +0100
- To: "Jonathan Marsh" <jmarsh@microsoft.com>, <jboyer@PureEdge.com>
- Cc: <w3c-ietf-xmldsig@w3.org>
> ------------------- > Section 4.6 Superfluous Namespace Declarations > > Unnecessary namespace declarations are not made in the canonical form. > Whether for an empty default namespace, a non-empty default namespace, > or a namespace prefix binding, the XML canonicalization method omits a > declaration if it determines that the [*]immediate parent[*] element in > the canonical form contains an equivalent declaration. I think the last sentence should be changed to something like: ..., the XML canonicalication method omits a declaration if it determines that the immediate parent element in the canonical form has an equivalent namespace declaration (same local name and value) *IN SCOPE*. Regards, Gregor --------------------------------------------------------------- DI Gregor Karlinger mailto:gregor.karlinger@iaik.at http://www.iaik.at Phone +43 316 873 5541 Institute for Applied Information Processing and Communications Austria --------------------------------------------------------------- > -------------------- > > Given this input: > > <foo xmlns="http://www.example.org"> > <bar xmlns=""> > <foo xmlns="http://www.example.org"> > <bar xmlns=""> > <foo xmlns="http://www.example.org"> > </bar> > </foo> > </bar> > </foo> > > And a nodelist which strips the bar elements, something like: > > //.[not(self::bar)] | //namespace::*[not(parent::bar)] > > The canonical output would appear to be: > > <foo xmlns="http://www.example.org"> > <foo> > <foo xmlns="http://www.example.org"/> > </foo> > </foo> > > (Please excuse any canonicalization errors or whitespace differences > here that aren't germain to my point.) > > It appears that superfluous declarations can still squeak through. In > other words, this example is so contrived to circumvent section 2.3, by > ensuring that no ancestor in the source document has a duplicate > namespace node. And 4.6 only applies to immediate parents in the output > document, and not to ancestors, and thus applies to the first child foo, > but not the grandchild foo. > > Should "immediate parent" in 4.6 instead be removed in favor of > something that more closely resembled the scoping rules of the Namespace > Spec? > > Thanks, > > Jonathan Marsh > jmarsh@microsoft.com > > >
Received on Friday, 1 December 2000 03:05:36 UTC