Subject: Re: [xsl] How to make a xsl:function that returns the function() From: Michael Kay <mike@xxxxxxxxxxxx> Date: Sat, 19 Jan 2013 16:27:14 +0000 |
The problem appears to have been fixed in Saxon 9.4.0.6, though I haven't identified the specific bug fix that cured the problem. Michael Kay Saxonica On 19/01/2013 15:51, Michael Kay wrote: > It's actually a NullPointerException within Saxon; oXygen is hiding the > gory detail of the internal error. > > As a workaround, use "name(.)" rather than name(). Saxon has trouble > with context-sensitive functions within higher order functions. I'm not > sure of the exact cause and will investigate further. You can track it here: > > https://saxonica.plan.io/issues/1689 > > Michael Kay > Saxonica > > On 19/01/2013 15:16, Toshihiko Makita wrote: >> Hi List, >> >> I'm very interested in XSLT 3.0 and have a question about the function >> that returns the function as its return value. >> Is it possible to make a such xsl:function? >> I tested using the following code in oXygen 14.1 with Saxon 9.4.0.4. >> >> <?xml version="1.0" encoding="UTF-8"?> >> <xsl:stylesheet version="3.0" >> xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> xmlns:xs="http://www.w3.org/2001/XMLSchema" >> xmlns:ahf="http://www.yahoo.co.jp/tmakita"> >> >> <xsl:template match="root"> >> <xsl:variable name="slectFunc" as="function(*)" >> select="ahf:funcGetChildElementByName('d')"/> >> <xsl:copy> >> <xsl:sequence select="$slectFunc(.)"/> >> </xsl:copy> >> </xsl:template> >> >> <xsl:function name="ahf:funcGetChildElementByName" as="function(*)"> >> <xsl:param name="prmElemName" as="xs:string"/> >> <xsl:sequence select="function($a as element()) as element()* >> {$a/child::*[starts-with(name(),$prmElemName)]}"/> >> </xsl:function> >> >> </xsl:stylesheet> >> >> However Saxon returns following error. >> >> System ID: D:\My Documents\Proj\XSLT-TEST\20130113-func\test.xsl >> Main validation file: D:\My Documents\Proj\XSLT-TEST\20130113-func\test.xsl >> Engine name: Saxon-EE 9.4.0.4 >> Severity: error >> Description: 0 >> >> Is there any workarounds? >> >> Regards, >> >> Toshihiko Makita
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to make a xsl:functio, Michael Kay | Thread | [xsl] Re: How to make a xsl:functio, Toshihiko Makita |
Re: [xsl] How to make a xsl:functio, Michael Kay | Date | [xsl] Re: How to make a xsl:functio, Toshihiko Makita |
Month |