Subject: Re: [xsl] Mapping Values. From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Wed, 15 Mar 2006 15:09:23 +0530 |
Hi Amal, Please try this stylesheet. It uses identity template along with templates for other rules. <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="@*[. = 'abcd']"> <xsl:attribute name="{name()}">1</xsl:attribute> </xsl:template> <xsl:template match="@*[(. = 'xxxx') or (. = 'yyyy')]"> <xsl:attribute name="{name()}">2</xsl:attribute> </xsl:template> <xsl:template match="@*[. = 'aaaa']"> <xsl:attribute name="{name()}">3</xsl:attribute> </xsl:template> </xsl:stylesheet> Regards, Mukul On 3/14/06, Amal <raj.amal@xxxxxxxxx> wrote: > I have an xml of the form > > <root> > <bldg loc=3D3D3D"abcd" subloc=3D3D3D"abcd" /> > <bldg loc=3D3D3D"xxxx" subloc=3D3D3D"yyyy" /> > <bldg loc=3D3D3D"aaaa" subloc=3D3D3D"aaaa" /> > > <addr bldgloc=3D3D3D"aaaa" bldgsubloc=3D3D3D"aaaa" /> > <addr bldgloc=3D3D3D"xxxx" bldgsubloc=3D3D3D"yyyy" /> > > </root> > > I have to convert it to > <root> > <bldg loc=3D3D3D"1" subloc=3D3D3D"1" /> > <bldg loc=3D3D3D"2" subloc=3D3D3D"2" /> > <bldg loc=3D3D3D"3" subloc=3D3D3D"3" /> > > <addr bldgloc=3D3D3D"3" bldgsubloc=3D3D3D"3" /> > <addr bldgloc=3D3D3D"2" bldgsubloc=3D3D3D"2" /> > > </root> > > So for this purpose I want to map some strings to some values that can be > used later. Like when I map bldg block in input to bldg block in output I > want to map the attributes to a number and then use the same when mapping > addr tags. > How shud I go about doing it ? > > > Amal.
Current Thread |
---|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Mapping Values., Amal | Thread | Re: [xsl] Mapping Values., Amal |
[xsl] Second of two consecutive cal, Sebastian Tennant | Date | Re: [xsl] Mapping Values., Amal |
Month |