|
Subject: [xsl] Count occurence and add the index in xsl From: Arulraj <p_arulraj@xxxxxxxxx> Date: Wed, 4 Oct 2006 06:52:56 -0700 (PDT) |
Hello all,
i want to get the index in the output.
Input XML looks like the
following
----------------------------------------------------
<?xml
version="1.0" encoding="UTF-8"?>
<Zeitraum>
<Years
format="yyyy">2005</Years>
<Days>21</Days>
<Weeks>22</Weeks>
<Date>
<Day>10</Day>
<Month>02</Month>
<Year>2006</Year>
</Date>
<test> </test>
<test></test>
<Date>
<Day>10</Day>
<Month>02</Month>
<Year>2006</Year>
</Date>
<test></test>
</Zeitraum>
I have the following xsl
---------------------------------
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/*">
<tree id="0">
<xsl:call-template
name="TreeXML">
<xsl:with-param name="nameTmp"
select="name()"/>
</xsl:call-template>
</tree>
</xsl:template>
<xsl:template name="TreeXML">
<xsl:param
name="nameTmp"/>
<item id="{$nameTmp}" text="{name()}">
<xsl:for-each select="*">
<xsl:call-template name="TreeXML">
<xsl:with-param name="nameTmp" select="concat($nameTmp,'_',name())"/>
</xsl:call-template>
</xsl:for-each>
</item>
</xsl:template>
</xsl:stylesheet>
I got the following output
------------------------------------
<?xml version="1.0" encoding="utf-8"?>
<tree id="0"><item id="Zeitraum" text="Zeitraum"><item id="Zeitraum_Years"
text="Years"/>
<item id="Zeitraum_Days" text="Days"/>
<item
id="Zeitraum_Weeks" text="Weeks"/>
<item id="Zeitraum_Date"
text="Date"><item id="Zeitraum_Date_Day" text="Day"/>
<item
id="Zeitraum_Date_Month" text="Month"/>
<item id="Zeitraum_Date_Year"
text="Year"/>
</item>
<item id="Zeitraum_test" text="test"/>
<item id="Zeitraum_test" text="test"/>
<item id="Zeitraum_Date"
text="Date"><item id="Zeitraum_Date_Day" text="Day"/>
<item
id="Zeitraum_Date_Month" text="Month"/>
<item id="Zeitraum_Date_Year"
text="Year"/>
</item>
<item id="Zeitraum_test" text="test"/>
</item>
</tree>
My Expected output is
-----------------------------------------
<?xml version="1.0"
encoding="utf-8"?>
<tree id="0">
<item id="Zeitraum" text="Zeitraum">
<item id="Zeitraum_Years" text="Years"/>
<item id="Zeitraum_Days"
text="Days"/>
<item id="Zeitraum_Weeks" text="Weeks"/>
<item
id="Zeitraum_Date_0" text="Date">
<item id="Zeitraum_Date_0_Day"
text="Day"/>
<item id="Zeitraum_Date_0_Month" text="Month"/>
<item id="Zeitraum_Date_0_Year" text="Year"/>
</item>
<item
id="Zeitraum_test_0" text="test"/>
<item id="Zeitraum_test_1"
text="test"/>
<item id="Zeitraum_Date_1" text="Date">
<item id="Zeitraum_Date_1_Day" text="Day"/>
<item
id="Zeitraum_Date_1_Month" text="Month"/>
<item
id="Zeitraum_Date_1_Year" text="Year"/>
</item>
<item
id="Zeitraum_test_2" text="test"/>
</item>
</tree>
Question:
I want to
add the index in the id attribute. suppose if the element is repeated i want
to add that count index. Only for the repeated element i want to get the index
How to do this?
Any help
regards,
raj
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| RE: [xsl] HTML-diff, Michael Kay | Thread | RE: [xsl] Count occurence and add t, Geert Josten |
| Re: SV: [xsl] XML Question, David Carlisle | Date | [xsl] problems around →, Frank Marent |
| Month |