[XML-SIG] default namespace prefixes in xpath's processorNss

Joseph Reagle reagle@w3.org
Tue, 2 Apr 2002 16:06:02 -0500


--------------Boundary-00=_2ALYPYF3T0MATXN0XNX8
Content-Type: text/plain;
  charset="iso-8859-1"
Content-Transfer-Encoding: 8bit


Hello, I'm trying to tweak test_c14n.py and c14n.py to accomodate the 
attached exc-c14n test which entails default namespace prefix.

I've tweaked test_c14n.py to process additional namespace prefixes with the 
"-n" argument:

xmlsec-python> test_c14n.py -i iaikTests.example2.xml  
-n "default http://foo.com" -x "(//. | //@* | //namespace::*)[self::Parent 
or (parent::Parent and not(self::default:Child)) or self::GrandChild or 
parent::GrandChild]"

However, there is a problem, the result:

<Parent xmlns="" default="http://foo.com">
    <GrandChild xmlns=""></GrandChild>
  </Parent>

This includes "default" as an ordinary namespace prefix and it emits. The 
result is not correct according to c14n which has a particular treatment 
for default namespaces.

If there was some way in which I could set the default namespace via the 
processorNss I think this would be remedied. However [1] states, "Note: 
don't try to set an empty string as a prefix: this is illegal."

How do I set the defalt namespace in this case?

-- 

Joseph Reagle Jr.                 http://www.w3.org/People/Reagle/
W3C Policy Analyst                mailto:reagle@w3.org
IETF/W3C XML-Signature Co-Chair   http://www.w3.org/Signature/
W3C XML Encryption Chair          http://www.w3.org/Encryption/2001/


--------------Boundary-00=_2ALYPYF3T0MATXN0XNX8
Content-Type: text/xml;
  charset="iso-8859-1";
  name="iaikTests.example2.xml"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="iaikTests.example2.xml"

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KCjwhLS0gWFBhdGg9InNlbGY6
OlBhcmVudCBvciAocGFyZW50OjpQYXJlbnQgYW5kIG5vdChzZWxmOjpkZWZhdWx0OkNoaWxkKSkg
b3Igc2VsZjo6R3JhbmRDaGlsZCBvciBwYXJlbnQ6OkdyYW5kQ2hpbGQiIC0tPgo8IS0tIGFkZGl0
aW9uYWxOU1ByZWZpeGVzPSJkZWZhdWx0IGh0dHA6Ly9mb28uY29tIiAtLT4KCjwhLS0gUmVzdWx0
IEMxNE46CjxQYXJlbnQ+CiAgICA8R3JhbmRDaGlsZD48L0dyYW5kQ2hpbGQ+CiAgPC9QYXJlbnQ+
Ci0tPgoKPCEtLSBBbm5vdGF0aW9uIEMxNE46CjEuIFRoZSB4bWxucz0iIiBvZiBQYXJlbnQgaXMg
bm90IHJlbmRlcmVkLCBhbHRob3VnaCBpdCBpcyBleHBsaWNpdGx5IGRlY2xhcmVkLgogICBUaGlz
IGlzIGJlY2F1c2UgUGFyZW50IGhhcyBubyBvdXRwdXQgcGFyZW50IHdpdGggYSBkZWZhdWx0IG5h
bWVzcGFjZSBkZWNsYS0KICAgcmF0aW9uIHRoYXQgaXMgaW4gdGhlIG5vZGUgc2V0LgoyLiBUaGUg
eG1sbnM9IiIgb2YgR3JhbmRDaGlsZCBpcyBub3QgcmVuZGVyZWQsIGFsdGhvdWdoIGl0IGlzIGV4
cGxpY2l0bHkKICAgZGVjbGFyZWQuIFRoaXMgaXMgYmVjYXVzZSBHcmFuZENoaWxkIGhhcyBubyBv
dXRwdXQgcGFyZW50IHdpdGggYSBkZWZhdWx0CiAgIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiB0aGF0
IGlzIGluIHRoZSBub2RlIHNldC4KLS0+Cgo8IS0tIFJlc3VsdCBFQzE0TjoKPFBhcmVudD4KICAg
IDxHcmFuZENoaWxkPjwvR3JhbmRDaGlsZD4KICA8L1BhcmVudD4KLS0+Cgo8IS0tIEFubm90YXRp
b24gRUMxNE46ClNlZSBBbm5vdGF0aW9uIEMxNE4uCi0tPgoKPEdyYW5kUGFyZW50PgogIDxQYXJl
bnQgeG1sbnM9IiI+CiAgICA8Q2hpbGQgeG1sbnM9Imh0dHA6Ly9mb28uY29tIj4KICAgICAgPEdy
YW5kQ2hpbGQgeG1sbnM9IiIvPgogICAgPC9DaGlsZD4KICA8L1BhcmVudD4KPC9HcmFuZFBhcmVu
dD4=

--------------Boundary-00=_2ALYPYF3T0MATXN0XNX8--