> HI Gurus,
I have xml file in this format
<hierarchy>
<entity>
<contents>
<entity>
</entity>
</contents>
</entity>
<entity>
<contents>
<entity>
</entity>
</contents>
</entity>
</hierarchy>
I want to have attribute level for all <entity> node
Can someone help to get this using xslt.
Coming right up:-)
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output indent="yes" method="xml"/>
<xsl:template match="hierarchy">
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="entity">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="level"><xsl:value-of select="count(ancestor::entity) +1 "/></xsl:attribute>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="contents">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
P.S. remember that attributes have to be qouted at all times in XML.
regards,
--
Joris Gillis (
http://www.ticalc.org/cgi-bin/acct-v...i?userid=38041)
Ceterum censeo XML omnibus esse utendum