Subject: RE: [xsl] MSXSL ignoring the mode attribute From: "Andrew Welch" <awelch@xxxxxxxxxxxxxxx> Date: Tue, 2 Jul 2002 11:21:49 +0100 |
MSXML3 and Saxon produce the same (correct) result, MSXML4 fails to recognise the mode. I would report this as a bug to Microsoft. (the debug handles follow the correct path, but the output doesnt(!)) I know that some ms techies are on the list, so they may pick this up cheers andrew -----Original Message----- From: Michael Leditschke [mailto:mike@xxxxxxxxxxx] Sent: 02 July 2002 07:38 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] MSXSL ignoring the mode attribute 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 --- Incoming mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.350 / Virus Database: 196 - Release Date: 17/04/2002 --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.350 / Virus Database: 196 - Release Date: 17/04/2002 XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] MSXSL ignoring the mode attri, Michael Leditschke | Thread | RE: [xsl] MSXSL ignoring the mode a, Michael Leditschke |
RE: [xsl] Repart generation with XS, Gertjan Assies | Date | Re: [xsl] Repart generation with XS, Denis McCarthy |
Month |