This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]