xsl-list
[Top] [All Lists]

RE: Numbering scheme

2002-09-29 23:02:44
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



<Prev in Thread] Current Thread [Next in Thread>