Subject: RE: [xsl] Element name as attribute value From: "Shailesh" <shailesh@xxxxxxxxxxxx> Date: Thu, 11 Aug 2005 17:56:46 +0530 |
Thanks a lot! It's worked! -----Original Message----- From: Marcin Mi3kowski [mailto:milek_pl@xxxxx] Sent: Thursday, August 11, 2005 5:54 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] Element name as attribute value Shailesh napisa3(a): > Hi All, > > I have to transform element name say "comments" as attribute value to > "<tsta name="comments">". Can it be possible using XSLT 2.0. > > Xml contains: > > <?xml version=1.0?> > <test> > <text:p text:trans_attr="trans"> > Sample para. This needs to be translated. > <comments>This is not translated</comments> </text:p> </test> This XML is not valid - you're missing quotes around the XML version ("1.0") and the namespace declaration. But the thing you're talking about is the easiest transformation I could think of, so it's possible also in XSLT 1.0. I corrected it thus: <?xml version="1.0"?> <test xmlns:text="http://www.text.com" > <text:p text:trans_attr="trans"> Sample para. This needs to be translated. <comments>This is not translated</comments> </text:p> </test> using a stylesheet: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="comments"> <xsl:element name="tsta"> <xsl:attribute name="name"> <xsl:text>comments</xsl:text> </xsl:attribute> <xsl:value-of select="."/> </xsl:element> </xsl:template> </xsl:stylesheet> you would get: <?xml version="1.0" encoding="UTF-16"?> <test xmlns:text="http://www.text.com"> <text:p text:trans_attr="trans"> Sample para. This needs to be translated. <tsta name="comments">This is not translated</tsta> </text:p> </test> which is almost what you wanted, but with a correct namespace declaration. Best, Marcin
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Element name as attribute, Marcin Miłkowski | Thread | [xsl] Count() on Distinct, but want, Ian E. Powell |
Re: [xsl] Element name as attribute, Marcin Miłkowski | Date | [xsl] [xpath] all following sibling, geoff hopkins |
Month |