[Home] [By Thread] [By Date] [Recent Entries]


> That is just bizzarre to me.  (I hope you're missing something but I
> have no clue what it might be)  Where does XSLT get namespace mojo
> that XQuery doesn't have?  Since XSLT and XQuery are based on the same
> data model, and neither fragment does anything explicit to preserve
> the namespace from the source document, why is it that the XQuery
> fragment loses the namespaces and the XSLT doesn't?

XSLT has an <xsl:copy> construct that does a shallow copy of an element node
together with all its namespaces (yes, you're right, I wouldn't expect
anyone to guess its specification by looking at the element name, any more
than I would expect anyone to guess what a left outer join operator does).
XQuery has no equivalent. My XQuery example used a computed element
constructor, which is the equivalent of <xsl:element> in XSLT: this isn't
copying any namespaces from the source document.

As another parallel thread notes, namespaces are responsible for a
ridiculous amount of the complexity in both these languages and the people
who invented them should be .... Any suggestions for a suitable punishment?

Michael Kay
http://www.saxonica.com/


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member