xsl-list
[Top] [All Lists]

Re: [xsl] xPath function in xslt 3.0

2018-12-10 12:55:51
It works for me, changing only the invocation of the function in match="preis".

Perhaps the content of the "preis" element is not xs:double or xs:untypedAtomic.

Michael Kay
Saxonica

On 10 Dec 2018, at 18:21, Leo Studer leo(_dot_)studer(_at_)varioweb(_dot_)ch 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

Hello

The function below is working well in xQuery 3.0 but not in xslt 3.0 
(Saxon-EE 9.8.0.12 in Oxygen) where it returns NaN. I cannot see the problem? 
Any suggestion?

Thanks in advance
Leo


  <xsl:variable name="exchangeRate" select="function ($fromCurrency as 
xs:string, $toCurrency as xs:string) as xs:double{
    if ($fromCurrency = $toCurrency) then 1.0 else
    number(doc(concat('http://www.floatrates.com/daily/',$fromCurrency,'.xml 
<http://www.floatrates.com/daily/',$fromCurrency,'.xml>'))
    //item[baseCurrency=$fromCurrency and 
targetCurrency=$toCurrency]/exchangeRate)
    }"/>
  
  <xsl:template match="preis">
    <xsl:value-of select="$exchangeRate('USD','CHF’) * ."/>
  </xsl:template>




Whereas in xQuery the same function works as it is expected
declare variable $exchangeRate := function ($fromCurrency as xs:string, 
$toCurrency as xs:string) as xs:double{
        if ($fromCurrency = $toCurrency) then 1.0 else
        number(doc(concat('http://www.floatrates.com/daily/ 
<http://www.floatrates.com/daily/>',$fromCurrency,'.xml'))
        //item[baseCurrency=$fromCurrency and 
targetCurrency=$toCurrency]/exchangeRate)
};

XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by 
email <>)
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>
  • [xsl] xPath function in xslt 3.0, Leo Studer leo(_dot_)studer(_at_)varioweb(_dot_)ch
    • Re: [xsl] xPath function in xslt 3.0, Michael Kay mike(_at_)saxonica(_dot_)com <=