xsl-list
[Top] [All Lists]

RE: Numbering scheme

2002-09-30 00:55:05
Hello Jarno,
 Thanx for ur assistance.
One more need. I need to subtract 1 from the ID i.e., for <Page ID="1">
1-1=0, <Page ID="2"> 2-1=1...
How do I achieve this?

rgds,
Gnanendra.

-----Original Message-----
From: Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com 
[mailto:Jarno(_dot_)Elovirta(_at_)nokia(_dot_)com]
Sent: Monday, September 30, 2002 11:33 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] Numbering scheme


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
- - - - - - - Appended by Scientific-Atlanta, Inc. - - - - - - - 
This e-mail and any attachments may contain information which is
confidential, proprietary, privileged or otherwise protected by law. The
information is solely intended for the named addressee (or a person
responsible for delivering it to the addressee). If you are not the intended
recipient of this message, you are not authorized to read, print, retain,
copy or disseminate this message or any part of it. If you have received
this e-mail in error, please notify the sender immediately by return e-mail
and delete it from your computer.

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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