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