[ http://issues.apache.org/jira/browse/XALANJ-2097?page=comments#action_12319268 ]
Brian Minchau commented on XALANJ-2097: --------------------------------------- Nick, please confirm that this issue is resolved to your satisfaction in the Xalan-J 2.7 release, then we can close this issue. > Problem with variable reference followed by self::node() if you use XSLTC > ------------------------------------------------------------------------- > > Key: XALANJ-2097 > URL: http://issues.apache.org/jira/browse/XALANJ-2097 > Project: XalanJ2 > Type: Bug > Components: XSLTC > Versions: 2.6 > Reporter: Nick Van den Bleeken > Fix For: 2.7 > Attachments: Step.patch, items.xml, problem2.xsl > > There is a problem when you have an XPath that contains a variable reference > followed by self::node() if you use XSLTC (the problem does not occure if you > just use Xalan without XSLTC). > If you have for example $var1/self::node(). The following XSLTC Step is > generated : > > FilterParentPath(variable-ref(var1/node-set), step("self", -1)) > > This step is translated to the following piece of code (I decompiled to byte > code): > > DTMAxisIterator dtmaxisiterator1 = (new CachedNodeListIterator(new > StepIterator(dom.getTypedAxisIterator(3, 14), dom.getTypedAxisIterator(3, > 15)))).setStartNode(i); > this; > dom; > new StepIterator(dtmaxisiterator1.cloneIterator(), new > SingletonIterator(i)); > > As you can see the 'self::node()' step is translated to 'new > SingletonIterator(i)'. This is not correct because new SingletonIterator(i) > will refer to the node of the _parent of the FilterParentPath step. > After applying the patch I made, the following code is generated if the > _parent of the Step (self::node()) isn't a 'ParentLocationPath' : > > new StepIterator(dtmaxisiterator1.cloneIterator(), > dom.getAxisIterator(13)); > > To run the sample just run > org.apache.xalan.xslt.Process -in items.xml -xsl problem2.xsl -xsltc -- 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]
