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