andreas-ibm opened a new pull request, #192:
URL: https://github.com/apache/xalan-java/pull/192

   One of the modifications done in 
[XALANJ-2108](https://issues.apache.org/jira/browse/XALANJ-2108) was to remove 
the vector closure at the start of the `resolveDependencies` function.
   
   I have re-added the closure and verified it fixes nested variables. 
   
   Example stylesheet:
   ```xslt
   <?xml version="1.0" encoding="UTF-8"?>
   <xsl:stylesheet version="1.0" 
                   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                   xmlns:ns1="http://foo/ns1"; 
                   xmlns:ns2="http://bar/ns2";
                   exclude-result-prefixes="ns1 ns2">
     
     <xsl:output method="xml"/>
     
     <xsl:variable name="var1">
       <xsl:variable name="var2">
         <xsl:value-of select="/ns1:outer/ns2:inner"/>
       </xsl:variable>
       <xsl:value-of select="concat('Name:', $var2)"/>
     </xsl:variable>
     
     <xsl:template match="/">
       <Output xmlns="http://baz/ns3";>
         <xsl:apply-templates/>
       </Output>
     </xsl:template>
     
     <xsl:template match="ns2:inner">
       <Ns1In>
         <xsl:value-of select="."></xsl:value-of>
       </Ns1In>
       <Ns1Out>
         <xsl:value-of select="$var1"/>
       </Ns1Out>
     </xsl:template>
   </xsl:stylesheet>
   ````
   input message
   ```xml
   <ns1:outer xmlns:ns1="http://foo/ns1";>
     <ns2:inner xmlns:ns2="http://bar/ns2";>InputContent</ns2:inner>
   </ns1:outer>
   ```
   Before the fix this would result in a "circular loop" accusation, and after 
the loop the result is
   ```xml
   <?xml version="1.0" encoding="UTF-8"?><Output xmlns="http://baz/ns3";>
           <Ns1In>InputContent</Ns1In><Ns1Out>Name:InputContent</Ns1Out>
   ```
   
   I have tested with all the examples in 
[XALANJ-2430](https://issues.apache.org/jira/browse/XALANJ-2430) and 
[XALANJ-2108](https://issues.apache.org/jira/browse/XALANJ-2108) to ensure I 
haven't readded the NPE in the latter


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org
For additional commands, e-mail: dev-h...@xalan.apache.org

Reply via email to