xsl-list
[Top] [All Lists]

Re: problem with numbering

2002-09-17 00:55:19
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



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