xsl-list
[Top] [All Lists]

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

2005-07-06 21:50:17
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(_at_)chaeron(_dot_)com> 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


--~------------------------------------------------------------------
XSL-List info and archive: 
http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to:
http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




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

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--