[ http://issues.apache.org/jira/browse/XALANJ-1434?page=all ]
Brian Minchau updated XALANJ-1434:
----------------------------------
Version: 2.5
(was: Latest Development Code)
> org.apache.xpath.axes.AxesWalker getLastPos: duplicate predicate testing
> ------------------------------------------------------------------------
>
> Key: XALANJ-1434
> URL: http://issues.apache.org/jira/browse/XALANJ-1434
> Project: XalanJ2
> Type: Bug
> Components: XPath
> Versions: 2.5
> Environment: Operating System: All
> Platform: All
> Reporter: Dimitry E Voytenko
> Assignee: Xalan Developers Mailing List
> Attachments: lastpos.patch
>
> In class org.apache.xpath.axes.AxesWalker method getLastPos there's a fragment
> of code:
> walker.setPredicateCount(walker.getPredicateCount() - 1);
> Thus, in expression x[last() != position()][true()] first predicate is
> checked
> twice.
> XML sample:
> <?xml version="1.0" encoding="UTF-8"?>
> <doc>
> <item>1</item>
> <item>2</item>
> <item>3</item>
> </doc>
> Result of
> <xsl:copy-of select="/doc/item[last() != position()][true()]"/>
> is
> <item>1</item>
> and should be
> <item>1</item>
> <item>2</item>
> XSL work-around:
> <xsl:copy-of select="(/doc/item[last() != position()])[true()]"/>
> Java code fix: replace code line in org.apache.xpath.axes.AxesWalker
> getLastPos:
> walker.setPredicateCount(walker.getPredicateCount() - 1);
> to
> walker.setPredicateCount(this.m_predicateIndex);
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]