Lists Home |
Date Index |
> 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?