Subject: RE: [xsl] Adding namespace nodes question From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Mon, 17 Dec 2001 14:34:53 -0000 |
> Suppose I have this XML: > > <elem name="myElem"> > <ns type="own" prefix="">http://www.domain1.org/ns</ns> > <ns type="extra" prefix="pre2">http://www.domain2.org/ns</ns> > <ns type="extra" prefix="pre3">http://www.domain3.org/ns</ns> > </elem> > > Which actually represents the this XML: > > <myElem xmlns="http://www.domain1.org/ns" > xmlns:pre2="http://www.domain2.org/ns" > xmlns:pre3="http://www.domain3.org/ns" /> > > What is the most efficient method to add these namespaces to > the element > in the result tree? AFAIK the only way to add a namespace node to the result tree, when the namespace isn't present in either the source document or the stylesheet, is to create an element on a temporary tree that uses that namespace, and then use xsl:copy[-of] to copy the namespace node from the temporary tree to the result tree. Even this relies on (a) the errata to XSLT 1.0, and (b) the xx:node-set() extension. <xsl:variable name="temp"> <xsl:element name="{$prefix}.temp" namespace="{.}"/> </xsl:variable> <xsl:copy-of select="xx:node-set()/*/namespace::*"/> Mike Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Adding namespace nodes questi, Manos Batsis | Thread | Re: [xsl] Adding namespace nodes qu, Jeni Tennison |
RE: [xsl] Correct syntax for removi, Chris Bayes | Date | RE: [xsl] RE: Adding namespace node, Michael Kay |
Month |