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(_at_)apple(_dot_)com>
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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--