You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by dm...@locus.apache.org on 2000/12/15 20:34:46 UTC

cvs commit: xml-xalan/test/tests/conf/idkey t04.dtd idkey01.xml idkey01.xsl idkey02.xml idkey02.xsl idkey03.xml idkey03.xsl idkey04.xml idkey04.xsl idkey05.xml idkey05.xsl idkey06.xml idkey06.xsl idkey07.xml idkey07.xsl idkey08.xml idkey08.xsl idkey09.xml idkey09.xsl idkey10.xml idkey10.xsl idkey11.xml idkey11.xsl idkey12.xml idkey12.xsl idkey13.xml idkey13.xsl idkey15.xml idkey15.xsl idkey16.xml idkey16.xsl idkey17.xml idkey17.xsl idkey18.xml idkey18.xsl idkey19.xml idkey19.xsl idkey20.xml idkey20.xsl idkey21.xml idkey21.xsl idkey22.xml idkey22.xsl idkey23.xml idkey23.xsl idkey24.xml idkey24.xsl idkey25.xml idkey25.xsl idkey26.xml idkey26.xsl idkey27.xml idkey27.xsl idkey28.xml idkey28.xsl idkey29.xml idkey29.xsl idkey30.xml idkey30.xsl idkey31.xml idkey31.xsl idkey32.xml idkey32.xsl idkey33.xml idkey33.xsl idkey34.xml idkey34.xsl idkey35.xml idkey35.xsl idkey36.xml idkey36.xsl impidk36a.xsl impidk36b.xsl impidky20.xsl bib.xml

dmarston    00/12/15 11:34:46

  Added:       test/tests/conf/idkey t04.dtd idkey01.xml idkey01.xsl
                        idkey02.xml idkey02.xsl idkey03.xml idkey03.xsl
                        idkey04.xml idkey04.xsl idkey05.xml idkey05.xsl
                        idkey06.xml idkey06.xsl idkey07.xml idkey07.xsl
                        idkey08.xml idkey08.xsl idkey09.xml idkey09.xsl
                        idkey10.xml idkey10.xsl idkey11.xml idkey11.xsl
                        idkey12.xml idkey12.xsl idkey13.xml idkey13.xsl
                        idkey15.xml idkey15.xsl idkey16.xml idkey16.xsl
                        idkey17.xml idkey17.xsl idkey18.xml idkey18.xsl
                        idkey19.xml idkey19.xsl idkey20.xml idkey20.xsl
                        idkey21.xml idkey21.xsl idkey22.xml idkey22.xsl
                        idkey23.xml idkey23.xsl idkey24.xml idkey24.xsl
                        idkey25.xml idkey25.xsl idkey26.xml idkey26.xsl
                        idkey27.xml idkey27.xsl idkey28.xml idkey28.xsl
                        idkey29.xml idkey29.xsl idkey30.xml idkey30.xsl
                        idkey31.xml idkey31.xsl idkey32.xml idkey32.xsl
                        idkey33.xml idkey33.xsl idkey34.xml idkey34.xsl
                        idkey35.xml idkey35.xsl idkey36.xml idkey36.xsl
                        impidk36a.xsl impidk36b.xsl impidky20.xsl bib.xml
  Log:
  Copy of tests in Lotus/IBM repository
  
  Revision  Changes    Path
  1.1                  xml-xalan/test/tests/conf/idkey/t04.dtd
  
  Index: t04.dtd
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  
  <!ELEMENT t04 (a*)>
  <!ELEMENT a EMPTY>
  <!ATTLIST a  id ID #REQUIRED> 
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey01.xml
  
  Index: idkey01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div id="id1">
      <title>Introduction</title>
      <p>For more information see the <divref>Expressions</divref> section.</p>
      <p>(alternate id link: <keydivref>id3</keydivref>)</p>
    </div>
    
    <div id="id2">
      <title>Stylesheet Structure</title>
      <p>For more information see the <divref>Introduction</divref> section.</p>
      <p>(alternate id link: <keydivref>id1</keydivref>)</p>
    </div>
    
    <div id="id3">
      <title>Expressions</title>
      <p>For more information see the <divref>Stylesheet Structure</divref> section.</p>
      <p>(alternate id link: <keydivref>id2</keydivref>)</p>
    </div>
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey01.xsl
  
  Index: idkey01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Build links using keys and generate-id(). -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="titles" match="div" use="title"/>
  <xsl:key name="id" match="@id" use="@id"/>
  
  <xsl:template match="doc">
    <P>Reference numbers should match the titles, links should work.</P>
    <xsl:for-each select="div">
      <HR/>
      <H1 id="{generate-id(.)}">
        <xsl:number level="multiple" count="div" format="1.1. "/>
        <xsl:value-of select="title"/></H1>
      <xsl:apply-templates/>
    </xsl:for-each>
  </xsl:template>
  
  <xsl:template match="p">
    <P><xsl:apply-templates/></P>
  </xsl:template>
  
  <xsl:template match="divref">
    <A href="#{generate-id(key('titles', .))}">
      <xsl:for-each select="key('titles', .)">
        <xsl:number level="multiple" count="div" format="1.1. "/>
      </xsl:for-each>
      <xsl:value-of select="."/>
    </A>
  </xsl:template> 
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey02.xml
  
  Index: idkey02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey02.xsl
  
  Index: idkey02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Make one keyspace and use it. -->
  
  <xsl:key name="mykey" match="div" use="title"/>
  
  <xsl:template match="doc">
   <out>
    <xsl:value-of select="key('mykey', 'Introduction')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey', 'Stylesheet Structure')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey', 'Expressions')/p"/>
   </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey03.xml
  
  Index: idkey03.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro_Section</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS_Section</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp_Section</p>
    </div>
  
    <div>
      <title>Patterns</title>
      <p>Pat_Section</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey03.xsl
  
  Index: idkey03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Test for key() in template pattern matching. -->
  
  <xsl:key name="mykey" match="div" use="title"/>
  
  <xsl:template match="doc">
   <out>
    <xsl:apply-templates select="key('mykey', 'Introduction')/p"/>
    <xsl:apply-templates select="key('mykey', 'Stylesheet Structure')"/>
    <xsl:apply-templates select="key('mykey', 'Expressions')/p"/>
    <xsl:apply-templates select="key('mykey', 'Patterns')"/>
   </out>
  </xsl:template>
  
  <xsl:template match="key('mykey', 'Introduction')/p">
    <xsl:value-of select="."/><xsl:text>,</xsl:text>
  </xsl:template>
  
  <xsl:template match="key('mykey', 'Stylesheet Structure')">
    <xsl:value-of select="p"/><xsl:text>,</xsl:text>
  </xsl:template>
  
  <xsl:template match="key('mykey', 'Expressions')/p">
    <xsl:value-of select="."/><xsl:text>,</xsl:text>
  </xsl:template>
  
  <xsl:template match="key('mykey', 'Patterns')">
    <xsl:value-of select="p"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey04.xml
  
  Index: idkey04.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE t04 SYSTEM "t04.dtd">
  
  <t04>
    <a id="a"/>
    <a id="b"/>
    <a id="c"/>
    <a id="d"/>
  </t04>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey04.xsl
  
  Index: idkey04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey04 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Purpose: Test for id(). -->
  
  <xsl:template match="t04">
   <out>
      <xsl:value-of select="id('c')/@id"/>
   </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey05.xml
  
  Index: idkey05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section</p>
  	<q>1</q>
    </div>
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section</p>
  	<q>2</q>
    </div>
    <div>
      <title>Expressions</title>
      <p>Exp Section</p>
  	<q>3</q>
    </div>
    <div>
      <title>Numbers</title>
      <p>Num Section</p>
  	<q>3.7</q>
    </div>
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey05.xsl
  
  Index: idkey05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 Keys -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for xsl:key, where value of use is a string constant. -->
  
  <xsl:key name="mykey1" match="div" use="'foo'"/>
  <xsl:key name="mykey2" match="div" use="number(q)"/>
  
  <xsl:template match="doc">
    <out>
       <xsl:value-of select="key('mykey1','foo' )/p"/><xsl:text>,</xsl:text>
       <xsl:value-of select="key('mykey2', 1 )/p"/><xsl:text>,</xsl:text>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey06.xml
  
  Index: idkey06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  <a/>
  <b/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey06.xsl
  
  Index: idkey06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 Miscellaneous Additional Functions. -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'generate-id()' - ensure same node generates same ID. -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="generate-id(a)=generate-id(a)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey07.xml
  
  Index: idkey07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  <a/>
  <a/>
  <b/>
  <c/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey07.xsl
  
  Index: idkey07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 Miscellaneous Additional Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'generate-id()' -->
    <!-- Results will vary by processor. Should see 5 different values regardless of what they are. -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="generate-id(c)"/><xsl:text>,</xsl:text>
      <xsl:value-of select="generate-id(b)"/><xsl:text>,</xsl:text>
      <xsl:value-of select="generate-id(d)"/><xsl:text>,</xsl:text>
      <xsl:value-of select="generate-id(a)"/><xsl:text>,</xsl:text>
      <xsl:value-of select="generate-id()"/><xsl:text></xsl:text>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey08.xml
  
  Index: idkey08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section</p>
  	<q>1</q>
    </div>
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section</p>
  	<q>2</q>
    </div>
    <div>
      <title>Expressions</title>
      <p>Exp Section</p>
  	<q>3</q>
    </div>
    <div>
      <title>Numbers</title>
      <p>Num Section</p>
  	<q>3.7</q>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey08.xsl
  
  Index: idkey08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 Keys -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for xsl:key, where value of use is an integer. -->
  
  <xsl:key name="mykey" match="div" use="number(q)"/>
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="key('mykey', 1 )/p"/><xsl:text>,</xsl:text>
      <xsl:value-of select="key('mykey', 3.0 )/p"/><xsl:text>,</xsl:text>
      <xsl:value-of select="key('mykey', 1+1 )/p"/><xsl:text>,</xsl:text>
      <xsl:value-of select="key('mykey', 3.7 )/p"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey09.xml
  
  Index: idkey09.xml
  ===================================================================
  <?xml version="1.0"?>
  <t04>
    <a id="a"/>
    <a id="b"/>
    <a id="c"/>
    <a id="d"/>
  </t04>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey09.xsl
  
  Index: idkey09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey09 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for id() behaving well when there is no DTD to designate an ID. -->
  
    <!-- No exception expected, but output is just some blank lines. -->
  
  <xsl:template match="/">
    <xsl:value-of select="id('c')/@id"/>
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey10.xml
  
  Index: idkey10.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey10.xsl
  
  Index: idkey10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for match attribute being first in xsl:key. -->
  
  <xsl:key match="div" use="title" name="mykey" />
  
  <xsl:template match="doc">
   <root>
    <xsl:value-of select="key('mykey', 'Introduction')/p"/>
    <xsl:value-of select="key('mykey', 'Stylesheet Structure')/p"/>
    <xsl:value-of select="key('mykey', 'Expressions')/p"/>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey11.xml
  
  Index: idkey11.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey11.xsl
  
  Index: idkey11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for use attribute being first in xsl:key. -->
  
  <xsl:key use="title" name="mykey" match="div" />
  
  <xsl:template match="doc">
   <root>
    <xsl:value-of select="key('mykey', 'Introduction')/p"/>
    <xsl:value-of select="key('mykey', 'Stylesheet Structure')/p"/>
    <xsl:value-of select="key('mykey', 'Expressions')/p"/>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey12.xml
  
  Index: idkey12.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
      <title>Second Title in Structure</title>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey12.xsl
  
  Index: idkey12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey12 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for xsl:key matching multiple keys on same node. -->
    <!-- "There can be multiple keys in a document with the same node, same key name,
         but different key values." -->
  
  <xsl:key name="mykey" match="div" use="title" />
  
  <xsl:template match="doc">
   <root>
    <xsl:value-of select="key('mykey', 'Introduction')/p"/>
    <xsl:value-of select="key('mykey', 'Stylesheet Structure')/p"/>
    <xsl:value-of select="key('mykey', 'Expressions')/p"/>
    <xsl:value-of select="key('mykey', 'Second Title in Structure')/p"/>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey13.xml
  
  Index: idkey13.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Second Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey13.xsl
  
  Index: idkey13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey13 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for xsl:key matching multiple nodes on same looked-up value. -->
    <!-- "There can be multiple keys in a document with the same key name, same key value,
         but different nodes." -->
  
  <xsl:key name="mykey" match="div" use="title" />
  
  <xsl:template match="doc">
   <root>
    <xsl:value-of select="count(div)" /> divisions:
    <xsl:value-of select="key('mykey', 'Introduction')/p"/>
    <xsl:value-of select="key('mykey', 'Stylesheet Structure')/p"/>
    The next key finds two divisions:
    <xsl:for-each select="key('mykey', 'Expressions')">
      <xsl:value-of select="p"/>
    </xsl:for-each>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey15.xml
  
  Index: idkey15.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
      <div>
        <title>Introduction</title>
        <p>Intro to SS subsection.</p>
      </div>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  
    <appendix>
      <title>Appendix Title</title>
      <p>Appendix.</p>
      <div>
        <title>Introduction</title>
        <p>Intro to Appendix.</p>
      </div>
    </appendix>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey15.xsl
  
  Index: idkey15.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey15 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test xsl:key where match nodes occur at different levels in the document. -->
  
  <xsl:key name="mykey" match="div" use="title" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="count(key('mykey', 'Introduction'))"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey16.xml
  
  Index: idkey16.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <subdiv allow="no">
        <title>Introduction</title>
        <p>Intro Section.</p>
      </subdiv>
    </div>
    
    <div allow="yes">
      <subdiv>
        <title>Stylesheet Structure</title>
        <p>SS Section.</p>
      </subdiv>
    </div>
    
    <div allow="yes">
      <subdiv>
        <title>Expressions</title>
        <p>Exp Section.</p>
      </subdiv>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey16.xsl
  
  Index: idkey16.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey16 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for three keyspaces using the same nodes as keys. -->
  
  <xsl:key name="bigspace" match="div" use="subdiv/title" />
  <xsl:key name="smallspace" match="subdiv" use="title" />
  <xsl:key name="filterspace" match="div[@allow='yes']" use="subdiv/title" />
  
  <xsl:template match="doc">
   <root>
    <xsl:value-of select="key('bigspace', 'Introduction')/subdiv/p"/>
    <xsl:value-of select="key('bigspace', 'Stylesheet Structure')/subdiv/p"/>
    <xsl:value-of select="key('bigspace', 'Expressions')/subdiv/p"/><xsl:text>
  </xsl:text>
    <xsl:value-of select="key('smallspace', 'Introduction')/p"/>
    <xsl:value-of select="key('smallspace', 'Stylesheet Structure')/p"/>
    <xsl:value-of select="key('smallspace', 'Expressions')/p"/><xsl:text>
  </xsl:text>
    <xsl:value-of select="key('filterspace', 'Introduction')/subdiv/p"/>
    <xsl:value-of select="key('filterspace', 'Stylesheet Structure')/subdiv/p"/>
    <xsl:value-of select="key('filterspace', 'Expressions')/subdiv/p"/>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey17.xml
  
  Index: idkey17.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey17.xsl
  
  Index: idkey17.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey17 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test key() with a node-set as second argument. -->
  
    <!-- "When the second argument to key is of type node-set,
         then the result is the union of the result of applying
         the key function to the string value of each of
         the nodes in the argument node-set." -->
  
  <xsl:key name="mykey" match="div" use="title" />
  
  <xsl:template match="doc">
   <root>
    <xsl:for-each select="key('mykey',*//title)">
      <xsl:value-of select="p"/>
    </xsl:for-each>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey18.xml
  
  Index: idkey18.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  Blah blah blah.
  Blah blah blah.
  For details, see <bibref>XSLT</bibref>.
  Blah blah blah.
  For details, see <bibref>XML</bibref>.
  Blah blah blah.
  Blah blah blah.
  For details, see <bibref>XPath</bibref>.
  Blah blah blah.
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey18.xsl
  
  Index: idkey18.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey18 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test combination of key() and document() as suggested in spec. -->
  
  <xsl:key name="bib" match="entry" use="@name" />
  
  <xsl:template match="doc">
   <root>
    <xsl:apply-templates/>
   </root>
  </xsl:template>
  
  <xsl:template match="bibref">
    <xsl:variable name="lookup" select="."/>
    <xsl:for-each select="document('bib.xml')">
      <xsl:apply-templates select="key('bib',$lookup)"/>
    </xsl:for-each>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey19.xml
  
  Index: idkey19.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey19.xsl
  
  Index: idkey19.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                  xmlns:baz="http://xsl.lotus.com/ns1">
  
    <!-- FileName: idkey19 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for xsl:key and key() with a qualified name. -->
  
  <xsl:key name="baz:mykey" match="div" use="title"/>
  
  <xsl:template match="doc">
    <root>
      <xsl:value-of select="key('baz:mykey', 'Introduction')/p"/><xsl:text> </xsl:text>
      <xsl:value-of select="key('baz:mykey', 'Stylesheet Structure')/p"/><xsl:text> </xsl:text>
      <xsl:value-of select="key('baz:mykey', 'Expressions')/p"/>
    </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey20.xml
  
  Index: idkey20.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey20.xsl
  
  Index: idkey20.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey20 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 1999116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for xsl:key being imported. -->
  
  <xsl:import href="impidky20.xsl"/>
  
  <xsl:template match="doc">
   <root>
      <xsl:value-of select="key('mykey', 'Introduction')/p"/><xsl:text> </xsl:text>
      <xsl:value-of select="key('mykey', 'Stylesheet Structure')/p"/><xsl:text> </xsl:text>
      <xsl:value-of select="key('mykey', 'Expressions')/p"/>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey21.xml
  
  Index: idkey21.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div mark="0">
      <title>Introduction</title>
      <finder>0</finder>
      <p>Intro Section.</p>
    </div>
    
    <div mark="2">
      <title>Expressions</title>
      <finder>1</finder>
      <p>Exp Section.</p>
    </div>
  
    <div mark="5">
      <title>Stylesheet Structure</title>
      <finder>2</finder>
      <p>SS Section.</p>
    </div>
    
    <div mark="1">
      <title>Expressions</title>
      <finder>3</finder>
      <p>Second Exp Section.</p>
    </div>
  
    <div mark="3">
      <title>Stylesheet Processing</title>
      <finder>4</finder>
      <p>SP Section.</p>
    </div>
    
    <div mark="4">
      <title>Expressions</title>
      <finder>5</finder>
      <p>Third Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey21.xsl
  
  Index: idkey21.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey21 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for nested calls to key() function. -->
  
  <xsl:key name="titles" match="div" use="title" />
  <xsl:key name="marks" match="div" use="@mark" />
  
  <xsl:template match="doc">
   <root>
    The next key finds three divisions:
    <xsl:for-each select="key('marks',key('titles', 'Expressions')/finder)">
      <xsl:value-of select="p"/>
    </xsl:for-each>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey22.xml
  
  Index: idkey22.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- Test for ID selection and pattern matching -->
  <!DOCTYPE doc [
    <!ELEMENT doc (#PCDATA|a|b|c)*>
    <!ATTLIST doc id ID #REQUIRED>
    <!ELEMENT a (#PCDATA|a|b|c)*>
    <!ATTLIST a id ID #REQUIRED>
    <!ELEMENT b (#PCDATA|a|b|c)*>
    <!ATTLIST b id ID #REQUIRED>
    <!ELEMENT c (#PCDATA|a|b|c)*>
    <!ATTLIST c id ID #REQUIRED >
  ]>
  <doc id="id0">
    <a id="id1">
      *id1*
      <a id="id2">*id2*
        <a id="id3">*id3*</a>
        <b id="id4">*id4*</b>
        <c id="id5">*id5*</c>
      </a>
      <b id="id6">*id6*</b>
      <c id="id7">*id7*</c>
    </a>
    <b id="id8">
      *id8*
      <a id="id9">*id9*</a>
      <b id="id10">*id10*
        <a id="id11">*id11*</a>
        <b id="id12">*id12*</b>
        <c id="id13">*id13*</c>
      </b>
      <c id="id14">*id14*</c>
    </b>
    <c id="id15">
      *id15*
      <a id="id16">*id16*</a>
      <b id="id17">*id17*</b>
      <c id="id18">*id18*
        <a id="id19">*id19*</a>
      </c>
    </c>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey22.xsl
  
  Index: idkey22.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey22 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Creator: David Marston (original idea sent in by user) -->
    <!-- Purpose: Test for id() in complex structure. -->
  
  <xsl:template match="/">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="doc">
    Test for id selection and pattern matching...
    Next line should read: -*id17*-    <!-- No id() either end -->
    <xsl:apply-templates select="c/b"/>
    Next line should read: (*id14*)    <!-- id() below but not here -->
    <xsl:apply-templates select="b/c"/>
    Next line should read: -*id4*-     <!-- id() here on apply but not below -->
    <xsl:apply-templates select="id('id4')"/>
    Next line should read: +*id9*+     <!-- id() same on both ends -->
    <xsl:apply-templates select="id('id9')"/>
    Next line should read: (*id13*)    <!-- simple id() here, path off top-level id() below -->
    <xsl:apply-templates select="id('id13')"/>
    Next line should read: -*id6*-     <!-- path off top-level id() here but not below -->
    <xsl:apply-templates select="id('id0')/a/b"/>
    Next line should read: @*id19*@    <!-- same path off top-level id() here and below -->
    <xsl:apply-templates select="id('id0')/c/c/a"/>
    Next line should read: %*id12*%    <!-- different paths off id() here and below -->
    <xsl:apply-templates select="id('id8')/b/b"/>
    Next line should read: !*id11*!    <!-- different paths off id(), middle here and top-level below -->
    <xsl:apply-templates select="id('id10')/a"/>
    Next line should read: [*id3*] \*id5*\ =*id16*=  <!-- union of id()-based paths -->
    <xsl:apply-templates select="id('id2')/a | id('id5') | id('id15')/a"/>
  </xsl:template>
  
  <!-- Now the templates for the specific cases -->
  
  <xsl:template match="c">
    Error if this (c) template fires!
  </xsl:template>
  
  <xsl:template match="b">
    -<xsl:apply-templates/>-
  </xsl:template>
  
  <xsl:template match="id('id5')">
    \<xsl:apply-templates/>\
  </xsl:template>
  
  <xsl:template match="id('id9')">
    +<xsl:apply-templates/>+
  </xsl:template>
  
  <xsl:template match="id('id16')">
    =<xsl:apply-templates/>=
  </xsl:template>
  
  <xsl:template match="id('id0')/a/a/a">
    [<xsl:apply-templates/>]
  </xsl:template>
  
  <xsl:template match="id('id0')/b/b/a">
    !<xsl:apply-templates/>!
  </xsl:template>
  
  <xsl:template match="id('id0')/c/c/a">
    @<xsl:apply-templates/>@
  </xsl:template>
  
  <xsl:template match="id('id8')//b" priority="1">
    %<xsl:apply-templates/>%
  </xsl:template>
  
  <xsl:template match="id('id8')//c" priority="2">
    (<xsl:apply-templates/>)
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey23.xml
  
  Index: idkey23.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE t04 [
    <!ELEMENT t04 (a*)>
    <!ELEMENT a EMPTY>
    <!ATTLIST a id ID #REQUIRED>
  ]>
  <t04>
    <a id="a"/>
    <a id="b"/>
    <a id="c"/>
    <a id="d"/>
  </t04>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey23.xsl
  
  Index: idkey23.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey23 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for id() with a non-matching value. -->
  
  <xsl:template match="/">
    <P><xsl:value-of select="id('nomatch')/@id"/></P>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey24.xml
  
  Index: idkey24.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE t04 [
    <!ELEMENT t04 (a*)>
    <!ELEMENT a EMPTY>
    <!ATTLIST a id ID #REQUIRED>
  ]>
  <t04>
    <a id="a"/>
    <a id="b"/>
    <a id="c"/>
    <a id="d"/>
  </t04>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey24.xsl
  
  Index: idkey24.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey24 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for id(string), where string is a whitespace-separated list of values. -->
  
  <xsl:template match="/">
    <n>
      <xsl:for-each select="id('d b c')">
        <xsl:value-of select="./@id"/>
      </xsl:for-each>
    </n>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey25.xml
  
  Index: idkey25.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <subdiv allow="no">
        <title>Introduction</title>
        <p>Intro Section.</p>
      </subdiv>
    </div>
    
    <div allow="yes">
      <subdiv>
        <title>Stylesheet Structure</title>
        <p>SS Section.</p>
      </subdiv>
    </div>
    
    <div allow="yes">
      <subdiv>
        <title>Expressions</title>
        <p>Exp Section.</p>
      </subdiv>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey25.xsl
  
  Index: idkey25.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey25 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for variable as first argument to key(). -->
  
  <xsl:output indent="yes"/>
  
  <xsl:variable name="keysp">bigspace</xsl:variable>
  
  <xsl:key name="bigspace" match="div" use="subdiv/title" />
  <xsl:key name="smallspace" match="subdiv" use="title" />
  <xsl:key name="filterspace" match="div[@allow='yes']" use="subdiv/title" />
  
  <xsl:template match="doc">
   <root>
    Using keyspace <xsl:value-of select="$keysp"/>...
    <xsl:value-of select="key($keysp, 'Introduction')/subdiv/p"/>
    <xsl:value-of select="key($keysp, 'Stylesheet Structure')/subdiv/p"/>
    <xsl:value-of select="key($keysp, 'Expressions')/subdiv/p"/>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey26.xml
  
  Index: idkey26.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE main [
    <!ELEMENT main (a*,b*)>
    <!ELEMENT a (#PCDATA)>
    <!ATTLIST a id ID #REQUIRED>
    <!ELEMENT b (#PCDATA)>
  ]>
  <main>
    <a id="w">W</a>
    <a id="x">X</a>
    <a id="y">Y</a>
    <a id="z">Z</a>
    <b>y</b>
    <b>w</b>
    <b>x</b>
  </main>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey26.xsl
  
  Index: idkey26.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey26 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for id(node-set), where node-set has multiple values. -->
  
  <xsl:template match="/">
    <out>
      <xsl:for-each select="id(main/b)">
        <xsl:value-of select="."/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey27.xml
  
  Index: idkey27.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <title>Introduction</title>
      <p>Intro Section</p>
    </div>
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section</p>
    </div>
    <div>
      <title>Expressions</title>
      <p>Exp Section</p>
    </div>
    <div>
      <title/>
      <p>Untitled Section</p>
    </div>
    <div>
      <title>Sorting</title>
      <p>Sort Section</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey27.xsl
  
  Index: idkey27.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey27 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test whether blank keying (use) value works or is ignored. -->
  
  <xsl:key name="mykey" match="div" use="title"/>
  
  <xsl:template match="doc">
   <out>
    <xsl:value-of select="key('mykey','Introduction')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','Stylesheet Structure')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','Expressions')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','Sorting')/p"/>
   </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey28.xml
  
  Index: idkey28.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div title="Introduction">
      <p>Intro Section</p>
    </div>
    <div title="Stylesheet Structure">
      <p>SS Section</p>
    </div>
    <div title="">
      <p>Untitled Section</p>
    </div>
    <div title="Expressions">
      <p>Exp Section</p>
    </div>
    <div title="Sorting">
      <p>Sort Section</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey28.xsl
  
  Index: idkey28.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey28 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test whether blank keying (use) value works when it's an attribute. -->
  
  <xsl:key name="mykey" match="div" use="@title"/>
  
  <xsl:template match="doc">
   <out>
    <xsl:value-of select="key('mykey','Introduction')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','Stylesheet Structure')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','Expressions')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','')/p"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','Sorting')/p"/>
   </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey29.xml
  
  Index: idkey29.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div title="Introduction">Intro Section</div>
    <div title="Stylesheet Structure">SS Section</div>
    <div title="(none)"> </div>
    <div title="Expressions">Exp Section</div>
    <div title="Sorting">Sort Section</div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey29.xsl
  
  Index: idkey29.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey29 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Use content of an element as the "use" value. -->
  
  <xsl:key name="mykey" match="div" use="text()"/>
  
  <xsl:template match="doc">
   <out>
    <xsl:value-of select="key('mykey','Intro Section')/@title"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','SS Section')/@title"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','Exp Section')/@title"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey',' ')/@title"/><xsl:text>,</xsl:text>
    <xsl:value-of select="key('mykey','Sort Section')/@title"/>
   </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey30.xml
  
  Index: idkey30.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc att="top">
    <?a-pi some data?>
    <!-- This is the 1st comment -->
    text-in-doc
    <inner blat="blob">
      inner-text
      <!-- This is the 2nd comment -->
      <sub>subtext</sub>
    </inner>
    text-in-doc2
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey30.xsl
  
  Index: idkey30.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey30 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 Miscellaneous Additional Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'generate-id()' on various kinds of nodes -->
    <!-- Results will vary by processor. -->
  
  <xsl:template match="/doc">
    <out>
      <xsl:apply-templates select="*|@*|comment()|processing-instruction()|text()"/>
    </out>
  </xsl:template>
  
  <xsl:template match="*"><!-- for child elements -->
    <xsl:text>
    E(</xsl:text>
    <xsl:value-of select="name()"/>
    <xsl:text>):</xsl:text>
    <xsl:value-of select="generate-id()"/>
    <xsl:text> has </xsl:text>
    <xsl:apply-templates select="@*"/>
    <xsl:apply-templates/>
    <xsl:text>
  </xsl:text>
  </xsl:template>
  
  <xsl:template match="@*">
    <xsl:text>A(</xsl:text>
    <xsl:value-of select="name()"/>
    <xsl:text>):</xsl:text>
    <xsl:value-of select="generate-id()"/>
    <xsl:text>;</xsl:text>
  </xsl:template>
  
  <xsl:template match="text()">
    <xsl:text>T:</xsl:text>
    <xsl:value-of select="generate-id()"/>
    <xsl:text>,</xsl:text>
  </xsl:template>
  
  <xsl:template match="comment()">
    <xsl:text>C:</xsl:text>
    <xsl:value-of select="generate-id()"/>
    <xsl:text>,</xsl:text>
  </xsl:template>
  
  <xsl:template match="processing-instruction()">
    <xsl:text>P(</xsl:text>
    <xsl:value-of select="name()"/>
    <xsl:text>):</xsl:text>
    <xsl:value-of select="generate-id()"/>
    <xsl:text>;</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey31.xml
  
  Index: idkey31.xml
  ===================================================================
  <?xml version="1.0"?>
  <docs>
    <doc xmlns:ext="http://somebody.elses.extension">
      <section xmlns:foo="http://foo.com">
        <inner xmlns:whiz="http://whiz.com/special/page"/>
      </section>
    </doc>
  </docs>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey31.xsl
  
  Index: idkey31.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey31 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 Miscellaneous Additional Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'generate-id()' on namespace nodes -->
    <!-- Results will vary by processor. -->
  
  <xsl:template match="/">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="*">
    <xsl:text>Namespaces for </xsl:text><xsl:value-of select="name(.)"/><xsl:text>:
  </xsl:text>
    <xsl:for-each select="namespace::*">
      <xsl:value-of select="name(.)"/>
      <xsl:text>=</xsl:text>
      <xsl:value-of select="generate-id()"/>
      <xsl:text>,&#010;</xsl:text>
    </xsl:for-each>
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey32.xml
  
  Index: idkey32.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  <monthtab>
    <entry><name>Jan</name><number>1</number></entry>
    <entry><name>January</name><number>1</number></entry>
    <entry><name>Feb</name><number>2</number></entry>
    <entry><name>February</name><number>2</number></entry>
    <entry><name>Mar</name><number>3</number></entry>
    <entry><name>March</name><number>3</number></entry>
    <entry><name>Apr</name><number>4</number></entry>
    <entry><name>April</name><number>4</number></entry>
    <entry><name>May</name><number>5</number></entry>
    <entry><name>Jun</name><number>6</number></entry>
    <entry><name>June</name><number>6</number></entry>
    <entry><name>Jul</name><number>7</number></entry>
    <entry><name>July</name><number>7</number></entry>
    <entry><name>Aug</name><number>8</number></entry>
    <entry><name>August</name><number>8</number></entry>
    <entry><name>Sep</name><number>9</number></entry>
    <entry><name>Sept</name><number>9</number></entry>
    <entry><name>September</name><number>9</number></entry>
    <entry><name>Oct</name><number>10</number></entry>
    <entry><name>October</name><number>10</number></entry>
    <entry><name>Nov</name><number>11</number></entry>
    <entry><name>November</name><number>11</number></entry>
    <entry><name>Dec</name><number>12</number></entry>
    <entry><name>December</name><number>12</number></entry>
  </monthtab>
    <birthday person="Linda"><month>Apr</month><day>22</day></birthday>
    <birthday person="Marie"><month>September</month><day>9</day></birthday>
    <birthday person="Lisa"><month>March</month><day>31</day></birthday>
    <birthday person="Harry"><month>Sep</month><day>16</day></birthday>
    <birthday person="Ginny"><month>Jan</month><day>22</day></birthday>
    <birthday person="Pedro"><month>November</month><day>2</day></birthday>
    <birthday person="Bill"><month>Apr</month><day>4</day></birthday>
    <birthday person="Frida"><month>July</month><day>5</day></birthday>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey32.xsl
  
  Index: idkey32.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey32 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Use key() for sorting with apply-templates. -->
  
  <xsl:key name="MonthNum" match="monthtab/entry/number" use="../name" />
  
  <xsl:template match="doc">
    <out>
      <xsl:text>Birthdays in chronological order...
  </xsl:text>
      <xsl:apply-templates select="birthday">
        <xsl:sort select="key('MonthNum',month)" data-type="number" />
        <xsl:sort select="day" data-type="number" />
      </xsl:apply-templates>
    </out>
  </xsl:template>
  
  <xsl:template match="birthday">
    <xsl:value-of select="@person"/><xsl:text>: </xsl:text>
    <xsl:value-of select="month"/><xsl:text> </xsl:text>
    <xsl:value-of select="day"/><xsl:text>
  </xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey33.xml
  
  Index: idkey33.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  <monthtab>
    <entry><name>Jan</name><number>1</number></entry>
    <entry><name>January</name><number>1</number></entry>
    <entry><name>Feb</name><number>2</number></entry>
    <entry><name>February</name><number>2</number></entry>
    <entry><name>Mar</name><number>3</number></entry>
    <entry><name>March</name><number>3</number></entry>
    <entry><name>Apr</name><number>4</number></entry>
    <entry><name>April</name><number>4</number></entry>
    <entry><name>May</name><number>5</number></entry>
    <entry><name>Jun</name><number>6</number></entry>
    <entry><name>June</name><number>6</number></entry>
    <entry><name>Jul</name><number>7</number></entry>
    <entry><name>July</name><number>7</number></entry>
    <entry><name>Aug</name><number>8</number></entry>
    <entry><name>August</name><number>8</number></entry>
    <entry><name>Sep</name><number>9</number></entry>
    <entry><name>Sept</name><number>9</number></entry>
    <entry><name>September</name><number>9</number></entry>
    <entry><name>Oct</name><number>10</number></entry>
    <entry><name>October</name><number>10</number></entry>
    <entry><name>Nov</name><number>11</number></entry>
    <entry><name>November</name><number>11</number></entry>
    <entry><name>Dec</name><number>12</number></entry>
    <entry><name>December</name><number>12</number></entry>
  </monthtab>
    <birthday person="Linda"><month>Apr</month><day>22</day></birthday>
    <birthday person="Marie"><month>September</month><day>9</day></birthday>
    <birthday person="Lisa"><month>March</month><day>31</day></birthday>
    <birthday person="Harry"><month>Sep</month><day>16</day></birthday>
    <birthday person="Ginny"><month>Jan</month><day>22</day></birthday>
    <birthday person="Pedro"><month>November</month><day>2</day></birthday>
    <birthday person="Bill"><month>Apr</month><day>4</day></birthday>
    <birthday person="Frida"><month>July</month><day>5</day></birthday>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey33.xsl
  
  Index: idkey33.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey33 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Use key() for sorting in for-each. -->
  
  <xsl:key name="MonthNum" match="monthtab/entry/number" use="../name" />
  
  <xsl:template match="doc">
    <out>
      <xsl:text>Birthdays as found...
  </xsl:text>
      <xsl:for-each select="birthday">
        <xsl:value-of select="@person"/><xsl:text>: </xsl:text>
        <xsl:value-of select="month"/><xsl:text> </xsl:text>
        <xsl:value-of select="day"/><xsl:text>
  </xsl:text>
      </xsl:for-each>
      <xsl:text>
  Birthdays in chronological order...
  </xsl:text>
      <xsl:for-each select="birthday">
        <xsl:sort select="key('MonthNum',month)" data-type="number" />
        <xsl:sort select="day" data-type="number" />
        <xsl:value-of select="@person"/><xsl:text>: </xsl:text>
        <xsl:value-of select="month"/><xsl:text> </xsl:text>
        <xsl:value-of select="day"/><xsl:text>
  </xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey34.xml
  
  Index: idkey34.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <p>The whole document.</p>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
      <body>Deeper
        <p>Body of Intro.</p>junk
      </body>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
      <div>
        <title>Introduction</title>
        <p>Intro to SS subsection.</p>
        <body>Deeper
          <p>Body of SS Intro.</p>junk
        </body>
      </div>
      <body>Deeper
        <p>Body of SS.</p>junk
      </body>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
      <body>Deeper
        <p>Body of Exp.</p>junk
      </body>
    </div>
  
    <appendix>
      <title>Appendix Title</title>
      <p>Appendix.</p>
      <div>
        <title>Introduction</title>
        <p>Intro to Appendix.</p>
        <body>Deeper
          <Sect1>Into 1
            <p>Body of App1.</p>junk
          </Sect1>
          <Sect2>Into 2
            <p>Body of App2.</p>junk
          </Sect2>
          <Sect3>Into 3
            <sub>Further Into 3
              <p>Body of App3sub.</p>junk
            </sub>Coming back
          </Sect3>Back
        </body>Back to div
      </div>Out of div
    </appendix>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey34.xsl
  
  Index: idkey34.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey34 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test descendants of node-set from key(). -->
  
  <xsl:key name="mykey" match="div" use="title" />
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="key('mykey', 'Introduction')//p">
        <xsl:value-of select="."/><xsl:text>
  </xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey35.xml
  
  Index: idkey35.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <p>The whole document.</p>
    <div>
      <title>Introduction</title>
      <p>Intro Section.</p>
      <body>Deeper
        <p>Body of Intro.</p>junk
      </body>
    </div>
    
    <div>
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
      <div>
        <title>Introduction</title>
        <p>Intro to SS subsection.</p>
        <body>Deeper
          <p>Body of SS Intro.</p>junk
        </body>
      </div>
      <body>Deeper
        <p>Body of SS.</p>junk
      </body>
    </div>
    
    <div>
      <title>Expressions</title>
      <p>Exp Section.</p>
      <body>Deeper
        <p>Body of Exp.</p>junk
      </body>
    </div>
  
    <appendix>
      <title>Appendix Title</title>
      <p>Appendix.</p>
      <div>
        <title>Introduction</title>
        <p>Intro to Appendix.</p>
        <body>Deeper
          <Sect1>Into 1
            <p>Body of App1.</p>junk
          </Sect1>
          <Sect2>Into 2
            <p>Body of App2.</p>junk
          </Sect2>
          <Sect3>Into 3
            <sub>Further Into 3
              <p>Body of App3sub.</p>junk
            </sub>Coming back
          </Sect3>Back
        </body>Back to div
      </div>Out of div
    </appendix>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey35.xsl
  
  Index: idkey35.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey35 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test descendants of node-set from key() in a match pattern. -->
  
  <xsl:key name="mykey" match="div" use="title" />
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="div">
    <xsl:apply-templates/>
  </xsl:template>
  
  <xsl:template match="p">
    <xsl:apply-templates/>
  </xsl:template>
  
  <xsl:template match="key('mykey','Introduction')//p">
    <xsl:text>Found target p: </xsl:text><xsl:value-of select="."/><xsl:text>
  </xsl:text>
  </xsl:template>
  
  <xsl:template match="text()"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey36.xml
  
  Index: idkey36.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div>
      <subdiv allow="no">
        <title>Introduction</title>
        <p>Intro Section.</p>
      </subdiv>
    </div>
    
    <div allow="yes">
      <subdiv>
        <title>Stylesheet Structure</title>
        <p>SS Section.</p>
      </subdiv>
    </div>
    
    <div allow="yes">
      <subdiv>
        <title>Expressions</title>
        <p>Exp Section.</p>
      </subdiv>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/idkey36.xsl
  
  Index: idkey36.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkey36 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for three keyspaces, some being imported. -->
  
  <xsl:import href="impidk36a.xsl"/>
  
  <xsl:key name="filterspace" match="div[@allow='yes']" use="subdiv/title" />
  
  <xsl:template match="doc">
   <root><xsl:text>
  bigspace...</xsl:text>
    <xsl:value-of select="key('bigspace', 'Introduction')/subdiv/p"/>
    <xsl:value-of select="key('bigspace', 'Stylesheet Structure')/subdiv/p"/>
    <xsl:value-of select="key('bigspace', 'Expressions')/subdiv/p"/><xsl:text>
  smallspace...</xsl:text>
    <xsl:value-of select="key('smallspace', 'Introduction')/p"/>
    <xsl:value-of select="key('smallspace', 'Stylesheet Structure')/p"/>
    <xsl:value-of select="key('smallspace', 'Expressions')/p"/><xsl:text>
  filterspace...</xsl:text>
    <xsl:value-of select="key('filterspace', 'Introduction')/subdiv/p"/>
    <xsl:value-of select="key('filterspace', 'Stylesheet Structure')/subdiv/p"/>
    <xsl:value-of select="key('filterspace', 'Expressions')/subdiv/p"/>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/impidk36a.xsl
  
  Index: impidk36a.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <!-- Purpose: For importation by idkey36.xsl stylesheet. -->
  
  <xsl:import href="impidk36b.xsl"/>
  
  <xsl:key name="smallspace" match="subdiv" use="title" />
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/impidk36b.xsl
  
  Index: impidk36b.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <!-- Purpose: For importation by idkey36a.xsl stylesheet. -->
  
  <xsl:key name="bigspace" match="div" use="subdiv/title" />
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/impidky20.xsl
  
  Index: impidky20.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <!-- Purpose: For importation by idkey20.xsl stylesheet. -->
  
  <xsl:key name="mykey" match="div" use="title"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conf/idkey/bib.xml
  
  Index: bib.xml
  ===================================================================
  <?xml version="1.0"?>
  <main>
  <entry name="XML">--location of the XML spec--</entry>
  <entry name="XPath">--location of the XPath spec--</entry>
  <entry name="XSLT">--location of the XSLT spec--</entry>
  </main>