Subject: [xsl] RE: Saxon versus Xalan implementations of evaluate() extension function? From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Thu, 7 Jul 2005 21:02:07 +0100 |
Saxon 8.x does too much optimization to be able to guarantee that variables declared in the stylesheet actually exist as such at run-time (for example, variables that are never referenced are ignored completely). So I decided to disallow direct access to variables in saxon:evaluate(). Instead, you can pass parameters $p1..p9 to the query, e.g. saxon:evaluate("$p1 + 3", $x) returns 5 if $x is initialized to 2. Micahel Kay http://www.saxonica.com/ > -----Original Message----- > From: Andrzej Taramina [mailto:andrzej@xxxxxxxxxxx] > Sent: 07 July 2005 16:27 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Cc: mike@xxxxxxxxxxxx > Subject: Re: Saxon versus Xalan implementations of evaluate() > extension function? > > Adrian suggests: > > > I think just doing all evaluations in a variable > > beforehand should give you a bit more safety to work > > in saxon/xalan/both. I was using xalan with the dyn > > EXSLT extension and saxon and it seemed to work... > > Although when I wanted to make it processor > > independant to check beforehand what evaluate to use > > like so... <xsl:apply-templates > > use-when="function-available(dyn:evaluate)" > > select="dyn:evaluate($evalThis)"/>, xalan 1.0 > > processor seemed to have a problem with the use-when > > if this is an issue to work in both. I wasnt sure of a > > workaround). > > Is dyn:evaluate() availabe in Saxon 8.4? How about Saxon 6.5.4? > > > but back to the problem, does this work?... > > <xsl:variable name="evalThis" select="concat( > > '$data/', @xpathValue )" /> > > ... saxon:evaluate( $evalThis ) > > > > at worst try this... > > <xsl:variable name="evalThis" select="concat( $data, > > '/', @xpathValue )" /> > > ... saxon:evaluate( $evalThis ) > > Won't work, since many times the variable $data is a node > set. Xalan handles that fine. > saxon:evaluate won't bind to the variable. > > I tried reverting to Saxon 6.5.4 but then kept getting the > following exception: > > javax.xml.transform.TransformerException: Error in expression > : Unexpected token EOF in > expression > > Anyone know what causes this exception and why Saxon 6.5.4 > would throw this when Saxon 8.4 > and Xalan don't, on the same stylesheet source? > > Thanks! > > ....Andrzej > > Chaeron Corporation > http://www.chaeron.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: Saxon versus Xalan im, David Carlisle | Thread | [xsl] RE: Saxon versus Xalan implem, Andrzej Taramina |
Re: FW: [xsl]Add comment from xml s, Meinel, Lois | Date | Re: FW: [xsl]Add comment from xml s, Jon Gorman |
Month |