Subject: Re: Numbering in a hierarchy
From: David Carlisle <davidc@xxxxxxxxx>
Date: Thu, 3 Apr 2008 16:47:15 +0100
|
> or is it better to use saxon:assign for that?
It's never better to use saxon:assign, assigning to variable references
in this way completely breaks the processing model of xslt.
> My initial approach was to simply use <xsl:number/>
what was wrong with that approach?
It would seem that you just want
xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="*">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="group">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="number"><xsl:number/></xsl:attribute>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
<xsl:template match="item">
<xsl:copy>
<xsl:copy-of select="@*"/>
<xsl:attribute name="number"><xsl:number count="group|item" level="multiple" format="1-1" /></xsl:attribute>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
$ saxon num.xml num.xsl
<?xml version="1.0" encoding="utf-8"?><top>
<group number="1">
<item number="1-1">test</item>
<item number="1-2">test</item>
<item number="1-3">test</item>
<item number="1-4">test</item>
</group>
<group number="2">
<item number="2-1">test</item>
<otheritem>test</otheritem>
<item number="2-2">test</item>
<item number="2-3">test</item>
<item number="2-4">test</item>
</group>
</top>
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
|