[xquery-talk] Namespace question wrt. XQTS and XQuery/XSLT2 Serialization spec

Wolfgang Hoschek wolfgang.hoschek at mac.com
Sun Nov 13 08:40:07 PST 2005

I'm wondering what the correct output of the XML Output Method of the  
W3C XQuery/XSLT2 Serialization Spec is wrt. inclusion of namespaces  
declared on ancestors in the context of subtrees. There are at least  
two interpretations:

         doc :=
         <SOAP:a xmlns:SOAP="http://schemas.xmlsoap.org/soap/ 
envelope/" xmlns:foo="http://example.com">

result sequence := /*:*/b

1) Output method 1 adds all namespaces-in-scope to the subforest's  
root, generating the following output:

         <b xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"  

2) Output method 2 omits superflous namespaces declarations, treating  
the subforest's root as if it had no ancestors:

             <SOAP:c xmlns:SOAP="http://schemas.xmlsoap.org/soap/ 

I noticed that W3C XQTS requires method 2) at times due to Canonical  
XML comparison, e.g. for SeqUnion/fn-union-node-args-015.xq et al.  
Which one is correct?
[I can easily implement either approach once it's clear which route  
to prefer]


More information about the talk mailing list