Subject: RE: [xsl] copying xmlns: attribute From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 31 Mar 2005 15:05:43 +0100 |
In the XPath data model, namespaces are not attributes. So @* doesn't select them. To copy namespaces you need to use xsl:copy-of select="namespace::*" However if instead of <xsl:variable name="rootnode" select="name(.)"/> <xsl:element name="{$rootnode}"> you do <xsl:copy> then namespaces will be copied automatically. (In fact, one of the reasons for using xsl:element in preference to xsl:copy is when you don't want namespaces copied.) Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: omprakash.v@xxxxxxxxxxxxx [mailto:omprakash.v@xxxxxxxxxxxxx] > Sent: 31 March 2005 14:06 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] copying xmlns: attribute > > > Hi, > > Got this far by myself. > > Iam using the following code to copy an element > along with its > attibutes to the result tree from a context node which is > elsewhere in the > document. The context node is in fact the root element. > However, the xmlns: > attribute is not getting copied. > > <xsl:template match="/"> > <xsl:for-each select="//root/*[1]"> > <xsl:variable name="rootnode" select="name(.)"/> > <xsl:element name="{$rootnode}"> > <xsl:copy-of select="@*"/> > <xsl:apply-templates select="/" mode="inside"> > <xsl:with-param name="rootnode" select="$rootnode"/> > </xsl:apply-templates> > > </xsl:element> > </xsl:for-each> > </xsl:template> > > > I have used xsl:copy-of select="@*" earlier and I know that it copies > xmlns: attributes. > Also, in the inner call to apply-templates, I have to select > "/" once again > with a different mode as otherise only one node is getting > copied if I use > @*|node() > > My xhtml snippet is as follows: > > <table> > <tr> > <root> > <slideshow xmlns="urn:hl7-org/v3" title="Sample Slide Show" > date="Date of > publication" author="Yours Truly"> > <td><a href="file:///"> > > : > : > : > > </slideshow> > > Hoping to get a quick reply. > > Cheers, > Omprakash.V > > > > > > > > > > > > > > This e-Mail may contain proprietary and confidential > information and is sent for the intended recipient(s) only. > If by an addressing or transmission error this mail has been > misdirected to you, you are requested to delete this mail immediately. > You are also hereby notified that any use, any form of > reproduction, dissemination, copying, disclosure, modification, > distribution and/or publication of this e-mail message, > contents or its attachment other than by its intended > recipient/s is strictly prohibited. > > Visit Us at http://www.polaris.co.in
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] copying xmlns: attribute, omprakash . v | Thread | RE: [xsl] copying xmlns: attribute, omprakash . v |
Re: [xsl] imperative/OO language wi, Tim Lewis | Date | Re: [xsl] filtering elements using , omprakash . v |
Month |