- From: Aleksey Sanin <aleksey@aleksey.com>
- Date: Tue, 30 Sep 2003 21:15:43 -0700
- To: w3c-ietf-xmldsig@w3.org
- Cc: KSBeattie@lbl.gov
- Message-ID: <3F7A54EF.6060000@aleksey.com>
Hello All!
I would like to clarfiy the question with the default namespace local
name in
C14N specificaion. The section 2.2 says (third bullet) that default
namespace
node xmlns="..." has an no (empty?) local name:
An element's namespace nodes are sorted lexicographically by local name
(the default namespace node, if one exists, has no local name and is
therefore
lexicographically least).
And in the same time, section 3.2 ("Namespace Nodes" bullet) states that
default
namespace has local name "xmlns":
Otherwise, process the namespace node */N/* in the same way as an
attribute node,
except assign the local name |xmlns| to the default namespace node
if it exists (in
XPath, the default namespace node has an empty URI and local name).
Since the local names are used for namespace nodes sorting, this creates
an interop
issue because the namespaces nodes order would be different if default
namespace
node has empty or "xmlns" local name. And actually this issue was raised
as an
interop problem between XML Security Library and Python:
http://mail.python.org/pipermail/xml-sig/2003-September/009879.html
Please note, that all examples in C14N specification (see element <e5/>
in example 3.3
and element <e1/> in exmaple 3.7) and all interop tests for C14N itself
and XMLDSig
assume that default namespace node has an empty local name. Thus I also
assume that
this is the correct reading of the spec. Probably it would be a good
idea to make a note
about this issue in errata and may be clarify section 3.2.
With best regards,
Aleksey Sanin
XML Security Library http://www.aleksey.com/xmlsec
Received on Wednesday, 1 October 2003 00:15:51 UTC