Re: applying all rules in a mode

Subject: Re: applying all rules in a mode
From: "Sebastian Rahtz" <sebastian.rahtz@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 10 Aug 1999 17:38:04 +0100 (BST)
Hadar, Oren writes:
 > apply all of the rules that have mode="toc".  I tried the following, but it
 > didn't work:
 > 
 > <xsl:apply-templates mode="toc" select="*"/>
 > 
It probably *is* working, but does not mean what you think. It applies 
only to children of the current node. Unless each of your "toc"
templates has a recursive `apply-templates mode="toc"', it will not
propagate downwards

in fact,

 <xsl:apply-templates mode="toc" select="//*"/>

will do what you want (see appended), but it seems mildly
inelegant. but if you really have TOC material in random places, maybe 
its the right answer.

Sebastian


<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/XSL/Transform/1.0";
  result-ns="">
<xsl:template match="/">
 <xsl:apply-templates mode="toc" select="//*"/>
</xsl:template>

<xsl:template match="*" mode="toc">
 * <xsl:value-of select="name()"/>
</xsl:template>

</xsl:stylesheet>




 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread