xsl-list
[Top] [All Lists]

RE: Question on <xsl:apply-templates>

2003-10-31 03:54:14
I have a case where I am making a TOC for a large document, 
and using XSLT. I am using a mode on my template. I only want 
to output elements that are matched for the mode (in 
otherwords only output for the templates I have created). It 
is outputting every node, not just the ones denoted by the mode.

Add the rule

<xsl:template match="*" mode="toc"/>

or

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

The first one stops processing of any subtree rooted at an "unknown"
element.

The second one stops processing of text nodes when in "toc" mode, so you
still search the whole tree for chapter and section elements, but don't
output the text nodes.

Michael Kay



Example XSLT:

<xsl:template match="chapter" mode="toc">
    //do some stuff
   <xsl:apply-templates mode="toc"/>
 </xsl:template>

 <xsl:template match="section" mode="toc">
   //do some stuff
   <xsl:apply-templates mode="toc"/>
</xsl:template>

Example XML:

<chapter>
  <para>this is a para</para>
  <section>
  <para>this is another para</para>
  </section>
</chapter>

Output:

{//Stuff for chapter template match}this is a para{//Stuff 
for section template match}this is another para

Robert Ogden
IETM Developer
Navy Programs
(763) 572-7121


**********CONFIDENTIALITY NOTICE**********
The information contained in this e-mail may be proprietary and/or 
privileged and is intended for the sole use of the individual or 
organization named above.  If you are not the intended 
recipient or an 
authorized representative of the intended recipient, any 
review, copying or distribution of this e-mail and its 
attachments, if any, is prohibited. If you have received this 
e-mail in error, please notify the sender immediately by 
return e-mail and delete this message from your system.


 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>