Subject: RE: [xsl] Element name Change for a node From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 14 Sep 2006 08:52:26 +0100 |
I would do this as: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" /> <xsl:template match="*"> <xsl:copy> <xsl:apply-templates /> </xsl:copy> </xsl:template> <xsl:template match="address/*"> <xsl:element name="US_{local-name()}"> <xsl:apply-templates/> </xsl:element> </xsl:template> </xsl:stylesheet> Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Mukul Gandhi [mailto:gandhi.mukul@xxxxxxxxx] > Sent: 14 September 2006 05:20 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Element name Change for a node > > Please try this stylesheet: > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:output method="xml" indent="yes" /> > > <xsl:template match="/address"> > <address> > <xsl:apply-templates /> > </address> > </xsl:template> > > <xsl:template match="*[../self::address]"> > <xsl:element name="{concat('US_', local-name())}"> > <xsl:value-of select="." /> > </xsl:element> > </xsl:template> > > </xsl:stylesheet> > > This when applied to XML: > > <address> > <streetAddress>123 First Street</streetAddress> > <city>Sometown</city> > <state>CA</state> > <zip>12345</zip> > <province/> > <country>USA</country> > </address> > > Produces output: > > <?xml version="1.0" encoding="UTF-8"?> > <address> > <US_streetAddress>123 First Street</US_streetAddress> > <US_city>Sometown</US_city> > <US_state>CA</US_state> > <US_zip>12345</US_zip> > <US_province/> > <US_country>USA</US_country> > </address> > > > On 9/14/06, Senthilkumaravelan Krishnanatham > <senthil@xxxxxxxxx> wrote: > > > > Hi All, > > > > I have the following structure in my XML and I want to > transform this > > all "address" node content to prefix with "US". > > Please let me how to create the XSL template for the given input. > > > > Input > > <address> > > <streetAddress>123 First Street</streetAddress> > > <city>Sometown</city> > > <state>CA</state> > > <zip>12345</zip> > > <province /> > > <country>USA</country> > > </address> > > > > output > > <address> > > <US_streetAddress>123 First Street</US_streetAddress> > > <US_city>Sometown</US_city> > > <US_state>CA<US_/state> > > <US_zip>12345</US_zip> > > <US_province /> > > <US_country>USA</US_country> > > </address> > > > > I do not know how to create the XSL for it to transform. > > > > Thanks for your help. > > > > > > Regards, > > Senthil > > > -- > Regards, > Mukul Gandhi > > http://gandhimukul.tripod.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Element name Change for a, Mukul Gandhi | Thread | Re: [xsl] Element name Change for a, Mukul Gandhi |
Re: [xsl] extending the DTD, Abel Braaksma | Date | Re: [xsl] Element name Change for a, Mukul Gandhi |
Month |