Subject: [xsl] xPath function in xslt 3.0 From: "Leo Studer leo.studer@xxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 10 Dec 2018 18:21:17 -0000 |
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','CHFb) * ."/> </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) };
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Flatten a node set into a, Graydon graydon@xxxx | Thread | Re: [xsl] xPath function in xslt 3., Michael Kay mike@xxx |
Re: [xsl] Flatten a node set into a, Graydon graydon@xxxx | Date | Re: [xsl] xPath function in xslt 3., Michael Kay mike@xxx |
Month |