Subject: RE: [xsl] copying xmlns: attribute From: omprakash.v@xxxxxxxxxxxxx Date: Thu, 31 Mar 2005 19:58:15 +0530 |
Hi, I was trying with xsl:copy but without the xsl:for-each and when I did get the for-each right, I somehow missed out on the xsl:copy Thanks for pointing this out. Cheers, Omprakash.V "Michael Kay" <mike@saxonic To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> a.com> cc: (bcc: omprakash.v/Polaris) Subject: RE: [xsl] copying xmlns: attribute 03/31/2005 07:35 PM Please respond to xsl-list 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 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 -> |
---|---|---|
RE: [xsl] copying xmlns: attribute, Michael Kay | Thread | [xsl] XSL newbie question formattin, josh higgins |
Re: [xsl] filtering elements using , omprakash . v | Date | Re: [xsl] filtering elements using , David Carlisle |
Month |