[ https://issues.apache.org/jira/browse/XALANJ-2809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17942264#comment-17942264 ]
Martin Honnen commented on XALANJ-2809: --------------------------------------- I think we can close this (as the fold-left use of transform is solved), but for the case of doing {code:xml} <xsl:template match="/"> <xsl:copy> <xsl:apply-templates/> <xsl:comment>Processed with <xsl:value-of select="system-property('xsl:vendor')">/> by secondary.xsl at <xsl:value-of select="current-dateTime()"/></xsl:comment> </xsl:copy> </xsl:template> {code} I think you overlook that the match is on /, the document node, and that there is an xsl:copy of the document node. And the result of such a transformation would be that single document node (that of course as child nodes has whatever the apply-templates produces and that comment node, so it has several children, yes, but the result of the transformation I would expect as ?output is a single document node (and not the sequence of its child nodes). Let's perhaps reconsider that for a separate bug issue of its own. I will look into a simpler test case without using fold-left. > XPTY0004 when using fold-left and XSLT defined function, followed by > java.lang.NullPointerException > --------------------------------------------------------------------------------------------------- > > Key: XALANJ-2809 > URL: https://issues.apache.org/jira/browse/XALANJ-2809 > Project: XalanJ2 > Issue Type: Bug > Security Level: No security risk; visible to anyone(Ordinary problems in > Xalan projects. Anybody can view the issue.) > Components: transformation, Xalan, Xalan-CmdLine, > Xalan-interpretive, XPath-function > Affects Versions: The Latest Development Code > Environment: Java 8, Windows 11 > Reporter: Martin Honnen > Assignee: Mukul Gandhi > Priority: Major > Attachments: fold-left-seq-of-stylesheets-transform4.xsl, > pass-document-node-to-xslt-function-test1.xsl, sample1.xml, sheet1.xsl, > sheet2.xsl, sheet3.xsl > > > This is a bug report against the XSLT 3.0 development branch of Xalan. > I am still trying to use the function fold-left with some XSLT defined > function but run into a strange error "XPTY0004 Function call argument at > position 1 for function > {http://example.com/mf} > identity(), doesn't match the declared parameter type node()" followed by a > java.lang.NullPointerException. > {code:xml} > <?xml version="1.0" encoding="utf-8"?> > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > version="3.0" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:mf="http://example.com/mf" > exclude-result-prefixes="xs mf"> > <xsl:output method="xml" indent="yes"/> > <xsl:function name="mf:identity" as="node()"> > <xsl:param name="node" as="node()"/> > <xsl:sequence select="$node"/> > </xsl:function> > <xsl:template match="/"> > <xsl:copy> > <xsl:sequence select="fold-left(//*, (), function($a, $n) { ($a, > mf:identity($n)) })"/> > </xsl:copy> > </xsl:template> > </xsl:stylesheet> > {code} > Run that against any XML input and you will get the XPTY0004 for each element > node in the input followed by the NullPointerException. > > The code runs with with Saxon HE 12.5 Java as well as SaxonJS so I think it > is clean and proper XSLT 3. > > The shown code is a reduced test case whether I can get any node passed from > fold-left to an XSLT defined function, my real use case is using fold-left to > chain calls of the transform function, as I get the same error "XPTY0004 : > Function call argument at position 1 for function > \{http://example.com/mf}transform-node(), doesn't match the declared > parameter type node()" there I hope if the simple test case can be fixed the > real use case also works. > For completeness I tried to attach the real use as well but somehow attaching > currently fails. I will try to attach the file later after I have created the > bug issue. > > -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org For additional commands, e-mail: dev-h...@xalan.apache.org