[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: making dynamic evaluation via xsl:evaluate more d

Subject: Re: making dynamic evaluation via xsl:evaluate more dynamic
From: Philip Fearon <pgfearo@xxxxxxxxxxxxxx>
Date: Tue, 17 Apr 2012 22:50:37 +0100
Re:  making dynamic evaluation via xsl:evaluate more  d
Just a thought - now XPath 3.0 has the Let Expression, wouldn't it be
possible to safely wrap the XPath string with a Let Expression that
declares the dynamic variables - before passing this as a parameter to
xsl:evaluate?

Phil

2012/4/17 Michael Kay <mike@xxxxxxxxxxxx>:
> By all means raise this feedback with the XSL WG. The best way to do so is
> via the W3C bugzilla system - that's the way the WGs manage their agenda.
>
> I think the answer is that no-one has previously suggested a need for this
> feature. It strikes me as raising a lot of questions. In your use case, how
> do you find out what external variables the XPath expression uses, so that
> you can bind the right names? If you don't know the names statically, you
> presumably need some way to discover them dynamically. But then, knowing
the
> names of the parameters isn't much use if you don't know their semantics;
> where does this knowledge come from?
>
> Michael Kay
> Saxonica
>
>
> On 17/04/2012 18:53, Jakub Mal} wrote:
>>
>> Hello,
>> the new instruction evaluate allows for dynamic evaluation of expressions
>> in
>> stylesheets.
>> This:
>> <xsl:evaluate xpath="'1 + 1'">
>> </xsl:evaluate>
>> Returns 2
>>
>> All variables in the evaluated expression must be bound using with-param,
>> like in
>> <xsl:evaluate xpath="'$p1 + $p2'">
>>   <xsl:with-param name="p1" select="1" />
>>   <xsl:with-param name="p2" select="2" />
>> </xsl:evaluate>
>> Which returns 3.
>>
>> The syntactic rules for with-param are I think the same as in the case of
>> call-template. Aren't those unnecessarily restrictive in this case?
>> I suppose (please correct me, if I am wrong) the cost of dynamic
>> evaluation
>> would not change much, if attribute value template was allowed for the
>> attribute name of with-param in evaluate, such e.g.:
>> <xsl:evaluate xpath="'$p1 + $p2'">
>>   <xsl:with-param name="{'p' || '1'}" select="1" />
>>   <xsl:with-param name="{'p' || '2'}" select="2" />
>> </xsl:evaluate>
>>
>> Did this question arise when semantics of evaluate was discussed?
>> I have encountered an application where this would come in handy (well, it
>> would provide an alternative solution to a problem which I solved
>> differently), so maybe those applications that require dynamic evaluation
>> would appreciate it as well. I was a bit surprised that it is not
>> possible,
>> because it feels appropriate to me. When dealing with dynamic evaluation,
>> why not let the names of variables to by dynamic as well?
>>
>> Jakub Maly.
>> http://www.xrg.cz

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.