curcuru     01/10/18 13:10:09

  Added:       test/tests/contrib/var var01.xml var01.xsl var01a.xml
                        var01a.xsl var01b.xml var01b.xsl var01b2.xml
                        var01b2.xsl var01c.xml var01c.xsl var01d.xml
                        var01d.xsl
  Log:
  Tests inspired by Bugzilla#4218: call-template, with-param, scoping
  
  Revision  Changes    Path
  1.1                  xml-xalan/test/tests/contrib/var/var01.xml
  
  Index: var01.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc/>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01.xsl
  
  Index: var01.xsl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    version="1.0">   
  <!-- var01.xsl: variations on a theme:Bugzilla#4218; input .xml is ignored-->
  
  <!-- Theme: passing with-param, somehow variable stack frame gets messed up 
-->
  <xsl:template match="/">
      <out>
        <!-- Variables declared at same level as call-template -->
        <xsl:variable name="v1" select="'abc-should-appear-once'"/>
        <xsl:variable name="v2" select="'def-should-appear-once'"/>
        <!-- Extraneous variable decl -->
        <xsl:variable name="v3" select="'ghi-should-appear-once'"/>
        
        <xsl:call-template name="template1">
          <!-- Param name is same in all cases -->
          <xsl:with-param name="param1">
            <xsl:call-template name="template2">
              <xsl:with-param name="param1" select="$v1"/>
            </xsl:call-template>
            <xsl:value-of select="$v2"/>
          </xsl:with-param>
        </xsl:call-template>
      </out>
    </xsl:template>
   
    <xsl:template name="template1">
      <xsl:param name="param1" select="'error'"/>
      <template1><xsl:value-of select="$param1"/></template1>
    </xsl:template>
   
    <xsl:template name="template2">
      <xsl:param name="param1" select="'error'"/>
      <template2><xsl:value-of select="$param1"/></template2>
    </xsl:template>
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01a.xml
  
  Index: var01a.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc/>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01a.xsl
  
  Index: var01a.xsl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    version="1.0">   
  <!-- var01.xsl: variations on a theme:Bugzilla#4218; input .xml is ignored-->
  
  <!-- Theme: passing with-param, somehow variable stack frame gets messed up 
-->
  <xsl:template match="/">
  <!-- Theme-change: variables declared outside <out> -->
      <xsl:variable name="v1" select="'abc-should-appear-once'"/>
      <xsl:variable name="v2" select="'def-should-appear-once'"/>
      <out>
        <xsl:call-template name="template1">
          <xsl:with-param name="param1">
            <xsl:call-template name="template2">
              <!-- Theme-change: with-param uses different names -->
              <xsl:with-param name="param2" select="$v1"/>
            </xsl:call-template>
            <xsl:value-of select="$v2"/>
          </xsl:with-param>
        </xsl:call-template>
      </out>
    </xsl:template>
   
    <xsl:template name="template1">
      <xsl:param name="param1" select="'error'"/>
      <template1><xsl:value-of select="$param1"/></template1>
    </xsl:template>
   
    <xsl:template name="template2">
      <xsl:param name="param2" select="'error'"/>
      <template2><xsl:value-of select="$param2"/></template2>
    </xsl:template>
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01b.xml
  
  Index: var01b.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc/>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01b.xsl
  
  Index: var01b.xsl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    version="1.0">   
  <!-- var01b.xsl: variations on a theme:Bugzilla#4218; input .xml is ignored-->
  
  <!-- Theme: passing with-param, somehow variable stack frame gets messed up 
-->
  <!-- Theme-change: variables declared outside root template -->
  <xsl:variable name="v1" select="'abc-should-appear-once'"/>
  <xsl:variable name="v2" select="'def-should-appear-once'"/>
  <xsl:template match="/">
      <out>
        <xsl:call-template name="template1">
          <xsl:with-param name="param1">
            <xsl:call-template name="template2">
              <xsl:with-param name="param2" select="$v1"/>
            </xsl:call-template>
            <xsl:value-of select="$v2"/>
          </xsl:with-param>
        </xsl:call-template>
      </out>
    </xsl:template>
   
    <xsl:template name="template1">
      <xsl:param name="param1" select="'error'"/>
      <template1><xsl:value-of select="$param1"/></template1>
    </xsl:template>
   
    <xsl:template name="template2">
      <xsl:param name="param2" select="'error'"/>
      <template2><xsl:value-of select="$param2"/></template2>
    </xsl:template>
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01b2.xml
  
  Index: var01b2.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc/>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01b2.xsl
  
  Index: var01b2.xsl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    version="1.0">   
  <!-- var01b2.xsl: variations on a theme:Bugzilla#4218; input .xml is 
ignored-->
  
  <!-- Theme: passing with-param, somehow variable stack frame gets messed up 
-->
  <!-- Theme-change: params declared outside root template -->
  <xsl:param name="v1" select="'abc-should-appear-once'"/>
  <xsl:param name="v2" select="'def-should-appear-once'"/>
  <xsl:template match="/">
      <out>
        <xsl:call-template name="template1">
          <xsl:with-param name="param1">
            <xsl:call-template name="template2">
              <xsl:with-param name="param2" select="$v1"/>
            </xsl:call-template>
            <xsl:value-of select="$v2"/>
          </xsl:with-param>
        </xsl:call-template>
      </out>
    </xsl:template>
   
    <xsl:template name="template1">
      <xsl:param name="param1" select="'error'"/>
      <template1><xsl:value-of select="$param1"/></template1>
    </xsl:template>
   
    <xsl:template name="template2">
      <xsl:param name="param2" select="'error'"/>
      <template2><xsl:value-of select="$param2"/></template2>
    </xsl:template>
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01c.xml
  
  Index: var01c.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc/>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01c.xsl
  
  Index: var01c.xsl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    version="1.0">   
  <!-- var01.xsl: variations on a theme:Bugzilla#4218; input .xml is ignored-->
  
  <!-- Theme: passing with-param, somehow variable stack frame gets messed up 
-->
  <xsl:template match="/">
      <out>
        <!-- Variables declared at same level as call-template -->
        <xsl:variable name="v1" select="'abc-should-appear-once'"/>
        <xsl:variable name="v2" select="'def-should-appear-once'"/>
        
        <xsl:call-template name="template1">
          <!-- Param name is same in all cases -->
          <xsl:with-param name="param1">
            <xsl:call-template name="template2">
              <xsl:with-param name="param1" select="$v1"/>
            </xsl:call-template>
            <!-- Theme change: use xsl:text instead of value-of: PASSES 
18-Oct-01 -->
            <xsl:text>def-should-appear-once</xsl:text>
          </xsl:with-param>
        </xsl:call-template>
      </out>
    </xsl:template>
   
    <xsl:template name="template1">
      <xsl:param name="param1" select="'error'"/>
      <template1><xsl:value-of select="$param1"/></template1>
    </xsl:template>
   
    <xsl:template name="template2">
      <xsl:param name="param1" select="'error'"/>
      <template2><xsl:value-of select="$param1"/></template2>
    </xsl:template>
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01d.xml
  
  Index: var01d.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <doc/>
  
  
  1.1                  xml-xalan/test/tests/contrib/var/var01d.xsl
  
  Index: var01d.xsl
  ===================================================================
  <?xml version="1.0" encoding="utf-8"?>
  <xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    version="1.0">   
  <!-- var01.xsl: variations on a theme:Bugzilla#4218; input .xml is ignored-->
  
  <!-- Theme: passing with-param, somehow variable stack frame gets messed up 
-->
  <xsl:template match="/">
      <out>
        <!-- Variables declared at same level as call-template -->
        <xsl:variable name="v1" select="'abc-should-appear-once'"/>
        <xsl:variable name="v2" select="'def-should-appear-once'"/>
        
        <xsl:call-template name="template1">
          <!-- Param name is same in all cases -->
          <xsl:with-param name="param1">
            <!-- Theme change: value-of before call-template -->
            <xsl:value-of select="$v2"/>
            <xsl:call-template name="template2">
              <xsl:with-param name="param1" select="$v1"/>
            </xsl:call-template>
          </xsl:with-param>
        </xsl:call-template>
      </out>
    </xsl:template>
   
    <xsl:template name="template1">
      <xsl:param name="param1" select="'error'"/>
      <template1><xsl:value-of select="$param1"/></template1>
    </xsl:template>
   
    <xsl:template name="template2">
      <xsl:param name="param1" select="'error'"/>
      <template2><xsl:value-of select="$param1"/></template2>
    </xsl:template>
  </xsl:stylesheet>
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to