This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
MSXSL ignoring the mode attribute
- From: "Michael Leditschke" <mike at ammd dot com dot au>
- To: <xsl-list at lists dot mulberrytech dot com>
- Date: Tue, 2 Jul 2002 16:37:47 +1000
- Subject: [xsl] MSXSL ignoring the mode attribute
- Reply-to: xsl-list at lists dot mulberrytech dot com
I am running saxon 6.5.2 and MSXSL/MSXML 4.0.
I have the following xml file
<HTMLContents>
<table>
<font face="Courier">Some text</font>
</table>
</HTMLContents>
and the following stylesheet
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="HTMLContents">
<root>
<xsl:call-template name="ProcessSection"/>
</root>
</xsl:template>
<xsl:template name="ProcessSection" match="font" mode="Section">
<xsl:choose>
<xsl:when test="@face='Courier'">
<InFont>Section mode</InFont>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates mode="Section"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="font">
<InFont>No mode</InFont>
</xsl:template>
</xsl:stylesheet>
Saxon (I think correctly) produces
<root>
<InFont>Section mode</InFont>
</root>
The default template has been recursively applied
in Section mode until the template matching font
in Section mode is reached, and the output produced.
However, MSXSL produces
<root>
<InFont>No mode</InFont>
</root>
suggesting that the mode has been lost somewhere along
the line.
Is my analysis correct? Is anyone aware of this being a known
bug in MSXML 4.0?
If I change the stylesheet to
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="HTMLContents">
<root>
<xsl:apply-templates mode="Section"/>
</root>
</xsl:template>
<xsl:template match="font" mode="Section">
<InFont>Section mode</InFont>
</xsl:template>
<xsl:template match="font">
<InFont>No mode</InFont>
</xsl:template>
</xsl:stylesheet>
Both produce
<root>
<InFont>Section mode</InFont>
</root>
as expected, so it appears to be tied in with the use of call-template.
Regards
Michael
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list