Subject: Re: [xsl] How to make a xsl:function that returns the function() From: Toshihiko Makita <tmakita@xxxxxxxxxxxxx> Date: Mon, 21 Jan 2013 15:23:52 +0900 |
Dear Michael Kay, Thank you for your reply. The problem has been fixed according to your suggestion. Regards, ------------------------------ Date: Sat, 19 Jan 2013 15:51:25 +0000 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx From: Michael Kay <mike@xxxxxxxxxxxx> Subject: Re: [xsl] How to make a xsl:function that returns the function() Message-ID: <50FAC0FD.8030006@xxxxxxxxxxxx> 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 -- /*-------------------------------------------------- Toshihiko Makita Development Group. Antenna House, Inc. Ina Branch E-Mail tmakita@xxxxxxxxxxxxx 8077-1 Horikita Minamiminowa Vil. Kamiina Co. Nagano Pref. 399-4511 Japan Tel +81-265-76-9300 Fax +81-265-78-1668 Web site: http://www.antenna.co.jp/ http://www.antennahouse.com/ --------------------------------------------------*/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] node kind of result tree, Michael Sokolov | Thread | [xsl] XSLT 3.0 Output and Serializa, Philip Fearon |
Re: [xsl] node kind of result tree, G. Ken Holman | Date | Re: [xsl] node kind of result tree, Florent Georges |
Month |