[
https://issues.apache.org/jira/browse/XALANJ-2746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17853020#comment-17853020
]
Mukul Gandhi commented on XALANJ-2746:
--------------------------------------
[~martin.honnen], you're right. This is a defect.
.
In-fact, Xalan-J's xsl3 implementation currently has limitation, where literal
sequence constructor expressions can be successfully parsed and shall function
correctly, only when they form an entire XPath expression. i.e, (1,2,3) shall
work fine with Xalan-J currently.
But Xalan-J currently cannot handle,
for e.g, ... (1,2,3) OR (1,2,3) ...
(i.e, when an xpath sequence constructor is preceded or followed by any valid
tokens)
As a little workaround, your example shall work fine if we make use of XSL
variables, for e.g as follows,
<xsl:variable name="seq1" select="(1,2,3)"/>
<xsl:value-of select="$seq1 => sum()"/>
For kind information, for few other Xalan-J xpath expressions as well, for e.g
literal non-empty sequence constructors shall not work fine as function
arguments (but we can use xsl:variable as workaround, for them).
> NullPointerException on use of arrow operator (1 to 5) => sum()
> ---------------------------------------------------------------
>
> Key: XALANJ-2746
> URL: https://issues.apache.org/jira/browse/XALANJ-2746
> Project: XalanJ2
> Issue Type: Bug
> Security Level: No security risk; visible to anyone(Ordinary problems in
> Xalan projects. Anybody can view the issue.)
> Components: Xalan, Xalan-CmdLine
> Reporter: Martin Honnen
> Priority: Major
> Attachments: arrow-operator-test1.xsl
>
>
> This is a bug report on the XSLT 3 development branch of Xalan.
> I see that the arrow operator => has been implemented but I have written a
> simple test case that gives a NullPointerException:
> Sample XSLT (run against any XML input):
>
> {code:java}
> <?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"
> exclude-result-prefixes="xs">
> <xsl:template match="/">
> <xsl:copy>
> <test-arrow-operator>
> <xsl:value-of select="(1 to 5) => sum()"/>
> </test-arrow-operator>
> <xsl:comment>Run with <xsl:value-of
> select="system-property('xsl:vendor')"/> at <xsl:value-of
> select="current-dateTime()"/></xsl:comment>
> </xsl:copy>
> </xsl:template>
> </xsl:stylesheet>
> {code}
>
> gives an error java.lang.NullPointerException
> {noformat}
> file:///C:/Users/marti/IdeaProjects/xalan-java/../../OneDrive/Documents/xslt/blog-xslt-3-by-example/xalan-xslt3-tests/arrow-operator-test1.xsl;
> Zeilennummer10; Spaltennummer51; java.lang.NullPointerException{noformat}
> Expected result would be `<test-arrow-operator>15</test-arrow-operator>`.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]