You can't do this using level="multi" because element 2.1 is not a descendant
of element 2. So you're going to have to build up the number yourself; which
means you might as well use count() rather than <xsl:number/> - count() is a
lot more flexible.
In XSLT 2.0 you can use <xsl:number> to format any sequence of numbers, so I
think you can write:
<xsl:number
select="(for $n in (ancestor::NUMMERIERUNG)[position()!=1]
return count($n/preceding-sibling::NELEMENT)+1,
count(preceding-sibling::NELEMENT)+1)"
format="1.1"/>
Michael Kay
From: "Lars Geldner" <geldner(_at_)web(_dot_)de>
Date: Mon, 16 Sep 2002 16:15:24 +0200
To: <xsl-list-digest(_at_)lists(_dot_)mulberrytech(_dot_)com>
Subject: [xsl] problem with numbering
Hello,
I have a problem with the xsl:number-element. In the following part of a
XML-document I am not able to produce the numbering which I have declared in
the comments.
<NUMMERIERUNG>
<!--1.--><NELEMENT>text1</NELEMENT>
<!--2.--><NELEMENT>text2</NELEMENT>
<NUMMERIERUNG>
<!--2.1--><NELEMENT>text21</NELEMENT>
<!--2.2--><NELEMENT>text22</NELEMENT>
</NUMMERIERUNG>
<!--3.--><NELEMENT>text3</NELEMENT>
</NUMMERIERUNG>
The output should be:
1.text1
2.text2
2.1.text21
2.2.text22
3.text3
Thanks in advance,
Lars Geldner
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list