[ 
http://issues.apache.org/jira/browse/XALANJ-2097?page=comments#action_64405 ]
     
Brian Minchau commented on XALANJ-2097:
---------------------------------------

The problem appears to be valid, and this issue may be related to another issue 
(Henry Zongaro might know which one, where you have a / path expression that 
doesn't resolve to the right right root node if the document() function is 
involved).

Setting Henry Z. to be the patch reviewer, fix priority fp2, per the Xalan-J 
issue meeting on May 3, 2005.

> 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
>  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]

Reply via email to