Josh,
There are defaults that apply to each mode, also, as described in the XSLT
Rec, section 5.8:
There is also a built-in template rule for each mode, which allows
recursive processing to continue in the same mode in the absence of a
successful pattern match by an explicit template rule in the stylesheet.
This template rule applies to both element nodes and the root node. The
following shows the equivalent of the built-in template rule for mode m.
<xsl:template match="*|/" mode="m">
<xsl:apply-templates mode="m"/>
</xsl:template>
I hope this fills it in for you --
Cheers,
Wendell
At 07:42 PM 2/6/2004, you wrote:
It looks like the <xsl:apply-templates mode="g"/> at the bottom of the
Global template is causing the default template to get invoked.
Adding a new empty template
<xsl:template match="Global/text() | EVENT/text()" mode="g"/>
Will fixes the problem.
I'm not sure why the default template is being invoked in this case. I
read both http://www.w3.org/TR/xslt#modes and
http://www.w3.org/TR/xslt#built-in-rule and they seem to be saying that
only templates with a matching mode will be invoked. The
Can anyone explain why this is happening?
___&&__&_&___&_&__&&&__&_&__&__&&____&&_&___&__&_&&_____&__&__&&_____&_&&_
"Thus I make my own use of the telegraph, without consulting
the directors, like the sparrows, which I perceive use it
extensively for a perch." -- Thoreau
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list