Hi,
I am a novice in XSLT. so I would like to have assistance with the
following numbering scheme.
I have a dtd file with the rule:
<!ELEMENT Page (Name, Page*)> -- Recursive
<!ATTLIST Page ID CDATA #REQUIRED>
And the XML is generated in a recursive way where a parent
page can have
sub-page(s).
<Page ID="1">
<Name>1</Name>
<Page ID="1">
<Name>1.1</Name>
</Page>
<Page ID="2">
<Name>1.2</Name>
<Page ID="1">
<Name>1.2.1</Name>
</Page>
<Page ID="2">
<Name>X</Name>
<Page ID="1">
<Name>1.2.2</Name>
</Page>
</Page>
</Page>
<Page ID="3">
<Name>1.3</Name>
</Page>
<Page>
<Page ID="2">
<Name>2</Name>
<Page ID="1">
<Name>2.1</Name>
<Page ID="1">
<Name>2.1.1</Name>
<Page ID="1">
<Name>2.1.1.1</Name>
</Page>
</Page>
</Page>
</Page>
<Page ID="3">
<Name>3</Name>
</Page>
I would like to have a numbering scheme as given within the
<Name> tags.
Can anyone help me asap?
An identity transformation that will add the numbering to Name elements.
<xsl:template match="Name">
<xsl:copy>
<xsl:number level="multiple" count="Page" format="1.1"/>
</xsl:copy>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
Cheers,
Jarno
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list