RE: difference between Saxon 5.5.1 and Xalan 1.2

Subject: RE: difference between Saxon 5.5.1 and Xalan 1.2
From: "Kaganovich, Yevgeniy (Eugene)" <ykaganovich@xxxxxxxxxxx>
Date: Fri, 1 Dec 2000 21:16:51 -0800
Looks like a bug in Xalan. Variables inside a match are not allowed by XSLT,
and this doesn't follow XSLT-compliant extension mechanism.

Personally, I'm still not convinced there's good reason for this
restriction. I've been told that allowing variables inside match can result
in inifinitely recursive code, but there are many other ways to write
infinitely recursive call in XSLT, so I don't understand why the designers
decided to separate out this particular case...

Anyway, you can accomplish the same thing in XSLT-compiant manner by either
putting the condition inside the xsl:apply-templates (or xsl:call-template)
calling code, or in an xsl:if block inside the template.

- Eugene

: -----Original Message-----
: From: Ovidiu Predescu [mailto:ovidiu@xxxxxxxxxx]
: Sent: Friday, December 01, 2000 1:36 PM
: To: xsl-list@xxxxxxxxxxxxxxxx
: Subject: difference between Saxon 5.5.1 and Xalan 1.2
: 
: 
: Hi,
: 
: I have this XSLT code that works fine under Xalan 1.2:
: 
:  <xsl:variable name="top-page" select="(//page)[1]"/>
: 
:  <xsl:template match="page[$top-page = .]">
:    ...
:  </xsl:template>
: 
: However when I run it under Saxon 5.5.1 I get the following 
: error message:
: 
: At xsl:template on line 64 of 
: file:/home/ovidiu/src/stylesheet/page-wml.xsl: 
: The match pattern in xsl:template may not contain references 
: to variables
: 
: Is this a bug in Saxon or an extension of Xalan?
: 
: Regards,
: -- 
: Ovidiu Predescu <ovidiu@xxxxxxxxxx>
: http://orion.nsr.hp.com/ (inside HP's firewall only)
: http://www.geocities.com/SiliconValley/Monitor/7464/
: 
: 
: 
:  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
: 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread