sboag       01/07/30 13:41:01

  Added:       test/tests/conf/axes axes116.xml axes116.xsl
  Log:
  Test for likely optimizations of descendant patterns to make sure they're 
done correctly.
  Addresses Xalan bug http://nagoya.apache.org/bugzilla/show_bug.cgi?id=2903.
  
  Revision  Changes    Path
  1.1                  xml-xalan/test/tests/conf/axes/axes116.xml
  
  Index: axes116.xml
  ===================================================================
  <?xml version="1.0"?>
  <far-north>
   <north>
    <near-north>
     <far-west/>
     <west/>
     <near-west/>
     <center>
      <near-south>
       <south>
        <far-south/>
       </south>
      </near-south>
     </center>
     <near-east/>
     <east/>
     <far-east/>
    </near-north>
   </north>
  </far-north>
  
  
  1.1                  xml-xalan/test/tests/conf/axes/axes116.xsl
  
  Index: axes116.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; 
version="1.0">
  
    <!-- FileName: AXES116 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.3 -->
    <!-- Creator: Scott Boag -->
    <!-- Purpose: Test for likely optimizations of descendant patterns to make 
sure they're done correctly. -->
  
  
  <xsl:template match="north">
    <out>
    <!-- DS meands the location path is optimizable as a single descendant 
iterator. -->
  DS   1. AC: <xsl:value-of select="name(/descendant-or-self::north)"/>
  DS   2. AD: <xsl:value-of select="name(/descendant::near-north)"/>
  DS   3. BC: <xsl:value-of 
select="name(self::node()/descendant-or-self::north)"/>
  DS   4. BD: <xsl:value-of select="name(self::node()/descendant::near-north)"/>
  NDS  5. CC: <xsl:value-of 
select="name(descendant-or-self::north/descendant-or-self::north)"/>
  NDS  6. CD: <xsl:value-of 
select="name(descendant-or-self::north/descendant::near-north)"/>
  NDS  7. CE: <xsl:value-of 
select="name(descendant-or-self::north/child::near-north)"/>
  NDS  8. DC: <xsl:value-of 
select="name(descendant::near-north/descendant-or-self::near-north)"/>
  NDS  9. DD: <xsl:value-of 
select="name(descendant::near-north/descendant::far-west)"/>
  
  NDS 10. ACC: <xsl:value-of 
select="name(/descendant-or-self::north/descendant-or-self::north)"/>
  NDS 11. ACE: <xsl:value-of 
select="name(/descendant-or-self::north/child::near-north)"/>
  NDS 12. ADC: <xsl:value-of 
select="name(/descendant::near-north/descendant-or-self::near-north)"/>
  NDS 13. BCC: <xsl:value-of 
select="name(self::node()/descendant-or-self::north/descendant-or-self::north)"/>
  NDS 14. BCE: <xsl:value-of 
select="name(self::node()/descendant-or-self::north/child::near-north)"/>
  NDS 15. BDC: <xsl:value-of 
select="name(self::node()/descendant::near-north/descendant-or-self::far-west)"/>
  NDS 16. BDE: <xsl:value-of 
select="name(self::node()/descendant::near-north/child::far-west)"/>
  NDS 17. CCC: <xsl:value-of 
select="name(descendant-or-self::north/descendant-or-self::north/descendant-or-self::north)"/>
  NDS 18. CCE: <xsl:value-of 
select="name(descendant-or-self::north/descendant-or-self::north/child::near-north)"/>
  NDS 19. CDC: <xsl:value-of 
select="name(descendant-or-self::north/descendant::near-north/descendant-or-self::near-north)"/>
  NDS 20. CDE: <xsl:value-of 
select="name(descendant-or-self::north/descendant::near-north/child::far-west)"/>
  NDS 21. CEC: <xsl:value-of 
select="name(descendant-or-self::north/child::near-north/descendant-or-self::near-north)"/>
  NDS 22. CEE: <xsl:value-of 
select="name(descendant-or-self::north/child::near-north/child::far-west)"/>
  NDS 23. DCC: <xsl:value-of 
select="name(descendant::near-north/descendant-or-self::near-north/descendant-or-self::near-north)"/>
  NDS 24. DCE: <xsl:value-of 
select="name(descendant::near-north/descendant-or-self::near-north/child::far-west)"/>
  NDS 25. DDC: <xsl:value-of 
select="name(descendant::near-north/descendant::far-west/descendant-or-self::far-west)"/>
  
  DS  26. CC: <xsl:value-of 
select="name(descendant-or-self::node()/descendant-or-self::north)"/>
  DS  27. CD: <xsl:value-of 
select="name(descendant-or-self::node()/descendant::near-north)"/>
  DS  28. CE: <xsl:value-of 
select="name(descendant-or-self::node()/child::near-north)"/>
  DS  29. DC: <xsl:value-of 
select="name(descendant::node()/descendant-or-self::near-north)"/>
  DS  30. DD: <xsl:value-of 
select="name(descendant::node()/descendant::far-west)"/>
  
  DS  31. ACC: <xsl:value-of 
select="name(/descendant-or-self::node()/descendant-or-self::north)"/>
  DS  32. ACE: <xsl:value-of 
select="name(/descendant-or-self::node()/child::near-north)"/>
  DS  33. ADC: <xsl:value-of 
select="name(/descendant::node()/descendant-or-self::near-north)"/>
  DS  34. BCC: <xsl:value-of 
select="name(self::node()/descendant-or-self::node()/descendant-or-self::north)"/>
  DS  35. BCE: <xsl:value-of 
select="name(self::node()/descendant-or-self::node()/child::near-north)"/>
  DS  36. BDC: <xsl:value-of 
select="name(self::node()/descendant::node()/descendant-or-self::far-west)"/>
  DS  37. BDE: <xsl:value-of 
select="name(self::node()/descendant::node()/child::far-west)"/>
  DS  38. CCC: <xsl:value-of 
select="name(descendant-or-self::node()/descendant-or-self::node()/descendant-or-self::north)"/>
  DS  39. CCE: <xsl:value-of 
select="name(descendant-or-self::node()/descendant-or-self::node()/child::near-north)"/>
  DS  40. CDC: <xsl:value-of 
select="name(descendant-or-self::node()/descendant::node()/descendant-or-self::near-north)"/>
  DS  41. CDE: <xsl:value-of 
select="name(descendant-or-self::node()/descendant::node()/child::far-west)"/>
  DS  42. CEC: <xsl:value-of 
select="name(descendant-or-self::node()/child::node()/descendant-or-self::near-north)"/>
  DS  43. CEE: <xsl:value-of 
select="name(descendant-or-self::node()/child::node()/child::far-west)"/>
  DS  44. DCC: <xsl:value-of 
select="name(descendant::node()/descendant-or-self::node()/descendant-or-self::near-north)"/>
  DS  45. DCE: <xsl:value-of 
select="name(descendant::node()/descendant-or-self::node()/child::far-west)"/>
  DS  46. DDC: <xsl:value-of 
select="name(descendant::node()/descendant::node()/descendant-or-self::far-west)"/>
  
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  

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

Reply via email to