Re: [xsl] Saxon versus Xalan implementations of evaluate() extension function?

Subject: Re: [xsl] Saxon versus Xalan implementations of evaluate() extension function?
From: Arian Hojat <arianhojat2000@xxxxxxxxx>
Date: Wed, 6 Jul 2005 21:50:17 -0700 (PDT)
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).

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 )


Arian.


--- Andrzej Taramina <andrzej@xxxxxxxxxxx> wrote:

> I'm trying to get a large application to run using
> Saxon 8.4 rather than Xalan, which it
> uses currently, since a large chunk of cpu is being
> burned in the xsl transform step.
> Figured Saxon is usually a lot more efficient than
> Xalan in that regard.
> 
> But there seems to be a difference in the
> functionality of xalan:evaluate versus
> saxon:evaluate.
> 
> For example:
> 
>    xalan:evaluate( concat( '$', @varname ) )
> 
> works fine.  It uses the value of the @varname
> attribute (say 'xyz' ) and then returns the
> value of the variable $xyz.  Saxon dies on this
> construct with an exception that looks like:
> 
> net.sf.saxon.trans.DynamicError: Static error in
> XPath expression supplied to
> saxon:evaluate: XPath syntax error at char 10 in
> $xyz:
> 
> Similarily, I can do a
> 
>    xalan:evaluate( concat( '$data/', @xpathValue ) )
> 
> But Saxon throws the DynamicError exception.
> 
> Seems that Saxon doesn't support variable bindings
> in the evaluate call.  Strange
> oversight (IMNSHO) since the exslt dyn:evaluate
> specifies that it will support variable
> bindings.
> 
> Any workarounds?  Any plans for Saxon 8.5 to support
> variable bindings for the evaluate()
> function?
> 
> Thanks for any/all advice.  If I can't resolve this,
> it will kill our ability to switch to
> Saxon. ;-(
> 
> ....Andrzej
> 
> Chaeron Corporation
> http://www.chaeron.com
> 
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Current Thread