|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Copy-of & New Namespace prefix
xsl:copy-of will only create an exact copy. To create a modified copy, you need to recursively walk the document modifying each element as necessary. Something like this: <xsl:template match="*"> <xsl:element name="{local-name()}" namespace="(new namespace)"> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </xsl:element> </xsl:template> Note also that you should be thinking in first of the expanded-name of the elements (that is, their namespace URI and local-name) - the prefixes and namespace declarations will follow. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Woods, Christopher [mailto:cwoods@xxxxxxxxxxxxxxxxx] > Sent: 01 February 2006 15:41 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Copy-of & New Namespace prefix > > Hello, > > I want to create a transform that takes an (X)HTML as an > input and gives > back the unchanged but for the addition of a namespace prefix to each > element. Input file might be as follows: > > <html> > <body> > <p><b>Generalized foo here</b></p> > <ol> > <li>Foo 1</li> > <li>Foo 2</li> > </ol> > <p>Final foo</p> > </body> > </html> > > Output might be as follows: > > <foo:html> > <foo:body> > <foo:p><foo:b>Generalized foo here</foo:b></foo:p> > <foo:ol> > <foo:li>Foo 1</foo:li> > <foo:li>Foo 2</foo:li> > </foo:ol> > <foo:p>Final foo</foo:p> > </foo:body> > </foo:html> > > My instinct say to use <xsl:copy-of> but I'm confused about > how I might > add the prefix. Thanks very much.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Cast Your Vote
We need your help – Vote for DataDirect XML Products!
Winners and finalists announced at SOA World Conference in November. Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|







