Subject: Re: Counting the nesting level of an element From: Michel CASABIANCA <casa@xxxxxx> Date: 15 May 2000 02:23:27 +0200 |
Hi, Xavier Cazin <cazinx@xxxxxxxxx> writes: > I can't seem to be able to resolve this problem by myself: I'd just like to > count the nesting level of <sect> in my document, in order to affect the > result to HTML heading levels, so that I get h1, h2, etc... > > <xsl:template match="sect"> > <xsl:variable name="sect_nesting"> > <xsl:number level="any" count="?" format="1"/> > </xsl:variable> > <xsl:element name="h{$sect_nesting}"> > <xsl:apply-templates select="title/text()"/> > </xsl:element> > <xsl:apply-templates select="*[position() > 1]"/> > </xsl:template> > > I've tried dozens of patterns to fill the count attribute of <xsl:number>, > without being able to find the right combination of ancestors, descendants, > or selfs... Any clue out there? I think that none of patterns for <xsl:number> will match your needs. I suggest this code instead : <xsl:template match="sect"> <xsl:variable name="sect_nesting"> <xsl:value-of select="count(ancestor-or-self::sect)"/> </xsl:variable> <xsl:element name="h{$sect_nesting}"> <xsl:apply-templates select="title/text()"/> </xsl:element> <xsl:apply-templates select="*[position() > 1]"/> </xsl:template> It counts the number of <sect> elements that are ancestors of a given <sect>. -- +---------------------------+--------------------------------+ | Michel CASABIANCA | http://www.sdv.fr/pages/casa | | mailto:casa@xxxxxx | Articles sur Java et XML | | Développement Java et XML | Applications et Applets de Jeu | +---------------------------+--------------------------------+ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Counting the nesting level of an el, Xavier Cazin | Thread | How to check if a file exists, Carsten Ullrich |
the Muench method, Sebastian Rahtz | Date | How to check if a file exists, Carsten Ullrich |
Month |