You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by cu...@apache.org on 2001/12/14 23:47:31 UTC

cvs commit: xml-xalan/test/tests/conferr/whitespaceerr whitespaceerr01.xml whitespaceerr01.xsl whitespaceerr02.xml whitespaceerr02.xsl whitespaceerr03.xml whitespaceerr03.xsl whitespaceerr04.xml whitespaceerr04.xsl

curcuru     01/12/14 14:47:31

  Added:       test/tests/conferr/attribseterr attribseterr01.xml
                        attribseterr01.xsl attribseterr02.xml
                        attribseterr02.xsl attribseterr03.xml
                        attribseterr03.xsl attribseterr04.xml
                        attribseterr04.xsl attribseterr05.xml
                        attribseterr05.xsl attribseterr06.xml
                        attribseterr06.xsl attribseterr07.xml
                        attribseterr07.xsl attribseterr08.xml
                        attribseterr08.xsl
               test/tests/conferr/attribvaltemplateerr
                        attribvaltemplateerr01.xml
                        attribvaltemplateerr01.xsl
                        attribvaltemplateerr02.xml
                        attribvaltemplateerr02.xsl
               test/tests/conferr/booleanerr booleanerr01.xml
                        booleanerr01.xsl booleanerr02.xml booleanerr02.xsl
                        booleanerr03.xml booleanerr03.xsl booleanerr04.xml
                        booleanerr04.xsl booleanerr05.xml booleanerr05.xsl
                        booleanerr06.xml booleanerr06.xsl booleanerr07.xml
                        booleanerr07.xsl booleanerr08.xml booleanerr08.xsl
                        booleanerr09.xml booleanerr09.xsl booleanerr10.xml
                        booleanerr10.xsl booleanerr11.xml booleanerr11.xsl
                        booleanerr12.xml booleanerr12.xsl booleanerr13.xml
                        booleanerr13.xsl booleanerr14.xml booleanerr14.xsl
               test/tests/conferr/conditionalerr conditionalerr01.xml
                        conditionalerr01.xsl conditionalerr02.xml
                        conditionalerr02.xsl conditionalerr03.xml
                        conditionalerr03.xsl conditionalerr04.xml
                        conditionalerr04.xsl conditionalerr05.xml
                        conditionalerr05.xsl conditionalerr06.xml
                        conditionalerr06.xsl conditionalerr07.xml
                        conditionalerr07.xsl conditionalerr08.xml
                        conditionalerr08.xsl conditionalerr09.xml
                        conditionalerr09.xsl conditionalerr10.xml
                        conditionalerr10.xsl conditionalerr11.xml
                        conditionalerr11.xsl conditionalerr12.xml
                        conditionalerr12.xsl conditionalerr13.xml
                        conditionalerr13.xsl conditionalerr14.xml
                        conditionalerr14.xsl conditionalerr15.xml
                        conditionalerr15.xsl conditionalerr16.xml
                        conditionalerr16.xsl conditionalerr17.xml
                        conditionalerr17.xsl conditionalerr18.xml
                        conditionalerr18.xsl conditionalerr19.xml
                        conditionalerr19.xsl conditionalerr20.xml
                        conditionalerr20.xsl conditionalerr21.xml
                        conditionalerr21.xsl conditionalerr22.xml
                        conditionalerr22.xsl
               test/tests/conferr/copyerr copyerr01.xml copyerr01.xsl
                        copyerr02.xml copyerr02.xsl copyerr03.xml
                        copyerr03.xsl copyerr04.xml copyerr04.xsl
                        copyerr05.xml copyerr05.xsl
               test/tests/conferr/embederr embederr01.xml embederr01.xsl
                        embederr02.xml embederr02.xsl
               test/tests/conferr/expressionerr expressionerr01.xml
                        expressionerr01.xsl expressionerr02.xml
                        expressionerr02.xsl
               test/tests/conferr/extenderr extenderr01.xml extenderr01.xsl
                        extenderr02.xml extenderr02.xsl extenderr03.xml
                        extenderr03.xsl extenderr04.xml extenderr04.xsl
                        extenderr05.xml extenderr05.xsl
               test/tests/conferr/idkeyerr idkeyerr01.xml idkeyerr01.xsl
                        idkeyerr02.xml idkeyerr02.xsl idkeyerr03.xml
                        idkeyerr03.xsl idkeyerr04.xml idkeyerr04.xsl
                        idkeyerr05.xml idkeyerr05.xsl idkeyerr06.xml
                        idkeyerr06.xsl idkeyerr07.xml idkeyerr07.xsl
                        idkeyerr08.xml idkeyerr08.xsl idkeyerr09.xml
                        idkeyerr09.xsl idkeyerr10.xml idkeyerr10.xsl
                        idkeyerr11.xml idkeyerr11.xsl idkeyerr12.xml
                        idkeyerr12.xsl idkeyerr13.xml idkeyerr13.xsl
                        idkeyerr14.xml idkeyerr14.xsl idkeyerr15.xml
                        idkeyerr15.xsl idkeyerr16.xml idkeyerr16.xsl
                        idkeyerr17.xml idkeyerr17.xsl idkeyerr18.xml
                        idkeyerr18.xsl idkeyerr19.xml idkeyerr19.xsl
                        idkeyerr20.xml idkeyerr20.xsl idkeyerr21.xml
                        idkeyerr21.xsl t04.dtd
               test/tests/conferr/impinclerr f.xsl g.xsl h.xsl
                        impinclerr01.xml impinclerr01.xsl impinclerr02.xml
                        impinclerr02.xsl impinclerr03.xml impinclerr03.xsl
                        impinclerr04.xml impinclerr04.xsl impinclerr05.xml
                        impinclerr05.xsl impinclerr06.xml impinclerr06.xsl
                        impinclerr07.xml impinclerr07.xsl impinclerr08.xml
                        impinclerr08.xsl impinclerr09.xml impinclerr09.xsl
                        k.xsl
               test/tests/conferr/lreerr lreerr01.xml lreerr01.xsl
                        lreerr02.xml lreerr02.xsl lreerr03.xml lreerr03.xsl
                        lreerr04.xml lreerr04.xsl lreerr05.xml lreerr05.xsl
                        lreerr06.xml lreerr06.xsl lreerr07.xml lreerr07.xsl
                        lreerr08.xml lreerr08.xsl
               test/tests/conferr/matcherr matcherr01.xml matcherr01.xsl
                        matcherr02.xml matcherr02.xsl matcherr03.xml
                        matcherr03.xsl matcherr04.xml matcherr04.xsl
                        matcherr05.xml matcherr05.xsl matcherr06.xml
                        matcherr06.xsl matcherr07.xml matcherr07.xsl
                        matcherr08.xml matcherr08.xsl matcherr09.xml
                        matcherr09.xsl matcherr10.xml matcherr10.xsl
                        matcherr11.xml matcherr11.xsl test6.xml
               test/tests/conferr/matherr matherr01.xml matherr01.xsl
                        matherr02.xml matherr02.xsl matherr03.xml
                        matherr03.xsl matherr04.xml matherr04.xsl
                        matherr05.xml matherr05.xsl matherr06.xml
                        matherr06.xsl matherr07.xml matherr07.xsl
                        matherr08.xml matherr08.xsl matherr09.xml
                        matherr09.xsl matherr10.xml matherr10.xsl
                        matherr11.xml matherr11.xsl matherr12.xml
                        matherr12.xsl matherr13.xml matherr13.xsl
                        matherr14.xml matherr14.xsl
               test/tests/conferr/mdocserr mdocserr01.xml mdocserr01.xsl
                        mdocserr02.xml mdocserr02.xsl mdocserr03.xml
                        mdocserr03.xsl mdocserr04.xml mdocserr04.xsl
               test/tests/conferr/messageerr messageerr01.xml
                        messageerr01.xsl messageerr02.xml messageerr02.xsl
                        messageerr03.xml messageerr03.xsl
               test/tests/conferr/namedtemplateerr a.xsl
                        namedtemplateerr01.xml namedtemplateerr01.xsl
                        namedtemplateerr02.xml namedtemplateerr02.xsl
                        namedtemplateerr03.xml namedtemplateerr03.xsl
                        namedtemplateerr04.xml namedtemplateerr04.xsl
                        namedtemplateerr05.xml namedtemplateerr05.xsl
                        namedtemplateerr06.xml namedtemplateerr06.xsl
                        namedtemplateerr07.xml namedtemplateerr07.xsl
                        namedtemplateerr08.xml namedtemplateerr08.xsl
                        namedtemplateerr09.xml namedtemplateerr09.xsl
                        namedtemplateerr10.xml namedtemplateerr10.xsl
                        namedtemplateerr11.xml namedtemplateerr11.xsl
                        namedtemplateerr12.xml namedtemplateerr12.xsl
                        namedtemplateerr13.xml namedtemplateerr13.xsl
                        namedtemplateerr14.xml namedtemplateerr14.xsl
                        namedtemplateerr15.xml namedtemplateerr15.xsl
               test/tests/conferr/namespaceerr namespaceerr01.xml
                        namespaceerr01.xsl namespaceerr02.xml
                        namespaceerr02.xsl namespaceerr03.xml
                        namespaceerr03.xsl namespaceerr04.xml
                        namespaceerr04.xsl namespaceerr05.xml
                        namespaceerr05.xsl namespaceerr06.xml
                        namespaceerr06.xsl namespaceerr07.xml
                        namespaceerr07.xsl namespaceerr08.xml
                        namespaceerr08.xsl namespaceerr09.xml
                        namespaceerr09.xsl namespaceerr10.xml
                        namespaceerr10.xsl
               test/tests/conferr/numberformaterr numberformaterr01.xml
                        numberformaterr01.xsl numberformaterr02.xml
                        numberformaterr02.xsl numberformaterr03.xml
                        numberformaterr03.xsl numberformaterr04.xml
                        numberformaterr04.xsl numberformaterr05.xml
                        numberformaterr05.xsl numberformaterr06.xml
                        numberformaterr06.xsl numberformaterr07.xml
                        numberformaterr07.xsl numberformaterr08.xml
                        numberformaterr08.xsl numberformaterr09.xml
                        numberformaterr09.xsl numberformaterr10.xml
                        numberformaterr10.xsl numberformaterr11.xml
                        numberformaterr11.xsl numberformaterr12.xml
                        numberformaterr12.xsl numberformaterr13.xml
                        numberformaterr13.xsl numberformaterr14.xml
                        numberformaterr14.xsl numberformaterr15.xml
                        numberformaterr15.xsl numberformaterr16.xml
                        numberformaterr16.xsl numberformaterr17.xml
                        numberformaterr17.xsl numberformaterr18.xml
                        numberformaterr18.xsl numberformaterr19.xml
                        numberformaterr19.xsl numberformaterr20.xml
                        numberformaterr20.xsl numberformaterr21.xml
                        numberformaterr21.xsl numberformaterr22.xml
                        numberformaterr22.xsl numberformaterr23.xml
                        numberformaterr23.xsl numberformaterr24.xml
                        numberformaterr24.xsl numberformaterr25.xml
                        numberformaterr25.xsl numberformaterr26.xml
                        numberformaterr26.xsl numberformaterr27.xml
                        numberformaterr27.xsl numberformaterr28.xml
                        numberformaterr28.xsl numberformaterr29.xml
                        numberformaterr29.xsl numberformaterr30.xml
                        numberformaterr30.xsl
               test/tests/conferr/numberingerr numberingerr01.xml
                        numberingerr01.xsl numberingerr02.xml
                        numberingerr02.xsl numberingerr03.xml
                        numberingerr03.xsl numberingerr04.xml
                        numberingerr04.xsl numberingerr05.xml
                        numberingerr05.xsl numberingerr06.xml
                        numberingerr06.xsl numberingerr07.xml
                        numberingerr07.xsl
               test/tests/conferr/outputerr outputerr01.xml outputerr01.xsl
                        outputerr02.xml outputerr02.xsl outputerr03.xml
                        outputerr03.xsl outputerr04.xml outputerr04.xsl
                        outputerr05.xml outputerr05.xsl outputerr06.xml
                        outputerr06.xsl outputerr07.xml outputerr07.xsl
                        outputerr08.xml outputerr08.xsl outputerr09.xml
                        outputerr09.xsl outputerr10.xml outputerr10.xsl
                        outputerr11.xml outputerr11.xsl outputerr12.xml
                        outputerr12.xsl outputerr13.xml outputerr13.xsl
                        outputerr14.xml outputerr14.xsl
               test/tests/conferr/positionerr positionerr01.xml
                        positionerr01.xsl positionerr02.xml
                        positionerr02.xsl positionerr03.xml
                        positionerr03.xsl positionerr04.xml
                        positionerr04.xsl positionerr05.xml
                        positionerr05.xsl
               test/tests/conferr/processorinfoerr processorinfoerr01.xml
                        processorinfoerr01.xsl processorinfoerr02.xml
                        processorinfoerr02.xsl processorinfoerr03.xml
                        processorinfoerr03.xsl processorinfoerr04.xml
                        processorinfoerr04.xsl processorinfoerr05.xml
                        processorinfoerr05.xsl
               test/tests/conferr/selecterr selecterr01.xml selecterr01.xsl
                        selecterr02.xml selecterr02.xsl selecterr03.xml
                        selecterr03.xsl selecterr04.xml selecterr04.xsl
                        selecterr05.xml selecterr05.xsl selecterr06.xml
                        selecterr06.xsl selecterr07.xml selecterr07.xsl
                        selecterr08.xml selecterr08.xsl selecterr09.xml
                        selecterr09.xsl selecterr10.xml selecterr10.xsl
                        selecterr11.xml selecterr11.xsl selecterr12.xml
                        selecterr12.xsl selecterr13.xml selecterr13.xsl
                        selecterr14.xml selecterr14.xsl selecterr15.xml
                        selecterr15.xsl selecterr16.xml selecterr16.xsl
                        selecterr17.xml selecterr17.xsl selecterr18.xml
                        selecterr18.xsl selecterr19.xml selecterr19.xsl
                        selecterr20.xml selecterr20.xsl selecterr21.xml
                        selecterr21.xsl selecterr22.xml selecterr22.xsl
                        selecterr23.xml selecterr23.xsl
               test/tests/conferr/sorterr sorterr01.xml sorterr01.xsl
                        sorterr02.xml sorterr02.xsl sorterr03.xml
                        sorterr03.xsl sorterr04.xml sorterr04.xsl
                        sorterr05.xml sorterr05.xsl sorterr06.xml
                        sorterr06.xsl sorterr07.xml sorterr07.xsl
                        sorterr08.xml sorterr08.xsl sorterr09.xml
                        sorterr09.xsl sorterr10.xml sorterr10.xsl
               test/tests/conferr/stringerr stringerr01.xml stringerr01.xsl
                        stringerr02.xml stringerr02.xsl stringerr03.xml
                        stringerr03.xsl stringerr04.xml stringerr04.xsl
                        stringerr05.xml stringerr05.xsl stringerr06.xml
                        stringerr06.xsl stringerr07.xml stringerr07.xsl
                        stringerr08.xml stringerr08.xsl stringerr09.xml
                        stringerr09.xsl stringerr10.xml stringerr10.xsl
                        stringerr11.xml stringerr11.xsl stringerr12.xml
                        stringerr12.xsl stringerr13.xml stringerr13.xsl
                        stringerr14.xml stringerr14.xsl stringerr15.xml
                        stringerr15.xsl stringerr16.xml stringerr16.xsl
                        stringerr17.xml stringerr17.xsl stringerr18.xml
                        stringerr18.xsl stringerr19.xml stringerr19.xsl
               test/tests/conferr/variableerr variableerr01.xml
                        variableerr01.xsl variableerr02.xml
                        variableerr02.xsl variableerr03.xml
                        variableerr03.xsl variableerr04.xml
                        variableerr04.xsl variableerr05.xml
                        variableerr05.xsl variableerr06.xml
                        variableerr06.xsl variableerr07.xml
                        variableerr07.xsl variableerr08.xml
                        variableerr08.xsl variableerr09.xml
                        variableerr09.xsl variableerr10.xml
                        variableerr10.xsl variableerr11.xml
                        variableerr11.xsl variableerr12.xml
                        variableerr12.xsl variableerr13.xml
                        variableerr13.xsl variableerr14.xml
                        variableerr14.xsl variableerr15.xml
                        variableerr15.xsl variableerr16.xml
                        variableerr16.xsl variableerr17.xml
                        variableerr17.xsl variableerr18.xml
                        variableerr18.xsl variableerr19.xml
                        variableerr19.xsl variableerr20.xml
                        variableerr20.xsl
               test/tests/conferr/vererr vererr01.xml vererr01.xsl
                        vererr02.xml vererr02.xsl vererr03.xml vererr03.xsl
                        vererr04.xml vererr04.xsl vererr05.xml vererr05.xsl
                        vererr06.xml vererr06.xsl vererr07.xml vererr07.xsl
                        vererr08.xml vererr08.xsl vererr09.xml vererr09.xsl
               test/tests/conferr/whitespaceerr whitespaceerr01.xml
                        whitespaceerr01.xsl whitespaceerr02.xml
                        whitespaceerr02.xsl whitespaceerr03.xml
                        whitespaceerr03.xsl whitespaceerr04.xml
                        whitespaceerr04.xsl
  Log:
  Revamped and improved error testing of conferr files; these are copies
  of the ones in tests/conf/*/err directories, which will be removed soon
  
  Revision  Changes    Path
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr01.xml
  
  Index: attribseterr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <docs>
  <doc1>
  	<a level="1">A1</a>
  	<b level="1">B2</b>
  	<c level="1">C3</c>
  </doc1>
  <doc2>
  	<a level="2">A1</a>
  	<b level="2">B2</b>
  	<c level="2">C3</c>
  	<doc3>
  		<a level="Out1">A1</a>
  		<bat level="3">Out2</bat>
  		<cat level="3">C33</cat>
  	</doc3>
  </doc2>
  </docs> 
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr01.xsl
  
  Index: attribseterr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribseterr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.3 Creating Attributes -->
    <!-- Purpose: Verify creating nodes other than text nodes during instantiation
         of the content of the xsl:attribute element is an error. Offending nodes
         can be ignored. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: ElemTemplateElement error: Can not add foo to xsl:attribute -->
    <!-- ExpectedException: ElemTemplateElement error: Can not add foo to xsl:attribute -->
    <!-- ExpectedException: foo is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="/">
     <Out>
        <xsl:attribute name="attr1">
  		 <foo/>
           <xsl:processing-instruction name="PDPI">Process this</xsl:processing-instruction>
  		 <xsl:comment>This should be ignored</xsl:comment>
  		 <xsl:copy-of select="doc2"/>
  		OK
        </xsl:attribute>
     </Out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr02.xml
  
  Index: attribseterr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo>a</foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr02.xsl
  
  Index: attribseterr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribseterr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set up circular references of attribute-sets using each other -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: xsl:attribute-set 'set1' used itself, which will cause an infinite loop. -->
    <!-- ExpectedException: xsl:attribute-set set1 used itself, which will cause an infinite loop. -->
  
  <xsl:template match="/">
      <out>
        <test1 xsl:use-attribute-sets="set1"></test1>
      </out>
  </xsl:template>
  
  <xsl:attribute-set name="set2" use-attribute-sets="set3">
    <xsl:attribute name="text-decoration">underline</xsl:attribute>
  </xsl:attribute-set>
  
  <xsl:attribute-set name="set1" use-attribute-sets="set2">
    <xsl:attribute name="color">black</xsl:attribute>
  </xsl:attribute-set>
  
  <xsl:attribute-set name="set3" use-attribute-sets="set1">
    <xsl:attribute name="font-size">14pt</xsl:attribute>
  </xsl:attribute-set>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr03.xml
  
  Index: attribseterr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc> 
  </doc> 
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr03.xsl
  
  Index: attribseterr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribseterr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.3 Creating Attributes -->
    <!-- Purpose: Verify adding an attribute to node that is not an element
    	   is an error.  The attributes can be ignored.-->
    <!-- ExpectedException: Can not add xsl:attribute to xsl:attribute -->
    <!-- ExpectedException: ElemTemplateElement error: Can not add xsl:attribute to xsl:attribute -->
    <!-- ExpectedException: xsl:attribute is not allowed in this position in the stylesheet! -->
  <xsl:template match="/">
    <out>
      <xsl:element name="Element1">
        <xsl:attribute name="Att1">
          <xsl:attribute name="Att2">Wrong</xsl:attribute>
            OK
          </xsl:attribute>
        </xsl:element>	  
      <xsl:attribute name="Att1">Also-Wrong</xsl:attribute>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr04.xml
  
  Index: attribseterr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo>a</foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr04.xsl
  
  Index: attribseterr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribseterr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Omit name attribute in xsl:attribute-set. -->
    <!-- ExpectedException: xsl:attribute-set must have a name attribute. -->
    <!-- ExpectedException: xsl:attribute-set requires attribute: name -->
  <xsl:template match="/">
    <out>
      <xsl:element name="test" use-attribute-sets="set1"/>
    </out>
  </xsl:template>
  
  <xsl:attribute-set>
    <xsl:attribute name="color">black</xsl:attribute>
  </xsl:attribute-set>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr05.xml
  
  Index: attribseterr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo>a</foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr05.xsl
  
  Index: attribseterr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribseterr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.4 -->
    <!-- Purpose: Put illegal instructions in xsl:attribute-set. -->
    <!-- ExpectedException: ElemTemplateElement error: Can not add xsl:apply-templates to xsl:attribute-set -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: ElemTemplateElement error: Can not add xsl:apply-templates to xsl:attribute-set -->
    <!-- ExpectedException: xsl:apply-templates is not allowed in this position in the stylesheet! -->
  <xsl:template match="/">
    <out>
      <xsl:element name="test" use-attribute-sets="set1"/>
    </out>
  </xsl:template>
  
  <xsl:attribute-set name="set1">
    <xsl:attribute name="color">black</xsl:attribute>
    <xsl:apply-templates/>
  </xsl:attribute-set>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr06.xml
  
  Index: attribseterr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo>a</foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr06.xsl
  
  Index: attribseterr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribseterr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test placement of attribute-set inside a template, which is illegal. -->
    <!-- ExpectedException: xsl:attribute-set is not allowed inside a template! -->
    <!-- ExpectedException: XSLT: (StylesheetHandler) xsl:attribute-set is not allowed inside a template! -->
    <!-- ExpectedException: xsl:attribute-set is not allowed in this position in the stylesheet! -->
  <xsl:template match="/">
    <out>
      <xsl:attribute-set name="set2">
        <xsl:attribute name="text-decoration">underline</xsl:attribute>
      </xsl:attribute-set>
      <test1 xsl:use-attribute-sets="set1">This should fail</test1>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr07.xml
  
  Index: attribseterr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>\
    <foo>a</foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr07.xsl
  
  Index: attribseterr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribseterr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set attributes of element, using an attribute set that doesn't exist. -->
    <!-- NOTE that the spec is unclear about what behavior is required! In a private email,
         James Clark said that it should be an error. Erratum to come? -->
    <!-- ExpectedException: attribute-set named set2 does not exist -->
  
  <xsl:template match="/">
    <out>
      <xsl:element name="test" use-attribute-sets="set1 set2"/>
    </out>
  </xsl:template>
  
  <xsl:attribute-set name="set1">
    <xsl:attribute name="color">black</xsl:attribute>
  </xsl:attribute-set>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr08.xml
  
  Index: attribseterr08.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc top="gotcha"></doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribseterr/attribseterr08.xsl
  
  Index: attribseterr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribseterr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.3 -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Attempt to write an attribute with no element -->
    <!-- Purpose: Try to create an attribute before there is any element produced. -->
  
  <xsl:output method="xml" encoding="UTF-8"/>
  
  <xsl:template match="/">
    <xsl:attribute name="baaad"><xsl:value-of select="doc/@top"/></xsl:attribute>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribvaltemplateerr/attribvaltemplateerr01.xml
  
  Index: attribvaltemplateerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribvaltemplateerr/attribvaltemplateerr01.xsl
  
  Index: attribvaltemplateerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribvaltemplateerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.6.2 -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: Test of nested curly braces. Not allowed. -->
    <!-- ExpectedException: XSL Warning: Found '}' but no attribute template open! -->
  
  <xsl:template match="doc">
    <out href="{{'all'}{'done'}}"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribvaltemplateerr/attribvaltemplateerr02.xml
  
  Index: attribvaltemplateerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc xmlns:http="xyz">
    <http:val>pfu</http:val>
    <val>dfu</val>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/attribvaltemplateerr/attribvaltemplateerr02.xsl
  
  Index: attribvaltemplateerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: attribvaltemplateerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.6.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Value with a colon is interpreted as having a namespace prefix. -->
    <!-- ExpectedException: Prefix must resolve to a namespace -->
  
  <xsl:template match="doc">
    <out href="{http:val}"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr01.xml
  
  Index: booleanerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr01.xsl
  
  Index: booleanerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr01 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "not". -->
    <!-- ExpectedException: Could not find function: nt -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="nt(true())"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr02.xml
  
  Index: booleanerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr02.xsl
  
  Index: booleanerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr02 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" in not. -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="not(troo())"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr03.xml
  
  Index: booleanerr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr03.xsl
  
  Index: booleanerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr03 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" in and. -->
    <!-- ExpectedException: XSL Warning: Could not find function: troo -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="troo() and (2 = 2)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr04.xml
  
  Index: booleanerr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr04.xsl
  
  Index: booleanerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr04 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" in or. -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="troo() or (2 = 2)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr05.xml
  
  Index: booleanerr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr05.xsl
  
  Index: booleanerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr05 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" in = relation. -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="2 = troo()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr06.xml
  
  Index: booleanerr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr06.xsl
  
  Index: booleanerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr06 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" in boolean(). -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="boolean(troo())"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr07.xml
  
  Index: booleanerr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr07.xsl
  
  Index: booleanerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr07 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of true() with an argument. -->
    <!-- ExpectedException: expected zero arguments -->
    <!-- ExpectedException: FuncTrue only allows 0 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="true(doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr08.xml
  
  Index: booleanerr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr08.xsl
  
  Index: booleanerr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr08 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of false() with an argument. -->
    <!-- ExpectedException: expected zero arguments -->
    <!-- ExpectedException: FuncFalse only allows 0 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="false(doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr09.xml
  
  Index: booleanerr09.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr09.xsl
  
  Index: booleanerr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr09 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of not() with no argument. -->
    <!-- ExpectedException: expected one argument -->
    <!-- ExpectedException: FuncNot only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="not()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr10.xml
  
  Index: booleanerr10.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr10.xsl
  
  Index: booleanerr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr10 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of not() with too many arguments. -->
    <!-- ExpectedException: expected one argument -->
    <!-- ExpectedException: FuncNot only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="not(false(),doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr11.xml
  
  Index: booleanerr11.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr11.xsl
  
  Index: booleanerr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr11 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of boolean() with no argument. -->
    <!-- ExpectedException: expected one argument -->
    <!-- ExpectedException: FuncBoolean only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="boolean()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr12.xml
  
  Index: booleanerr12.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr12.xsl
  
  Index: booleanerr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr12 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of boolean() with too many arguments. -->
    <!-- ExpectedException: expected one argument -->
    <!-- ExpectedException: FuncBoolean only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="boolean(false(),doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr13.xml
  
  Index: booleanerr13.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <p xml:lang="en"/>
    <p xml:lang="EN"/>
    <p xml:lang="en-gb"/>
    <p xml:lang="EN-GB"/>
    <p xml:lang="TH"/>
    <p/>
    <span xml:lang="en">
      <p/>
    </span>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr13.xsl
  
  Index: booleanerr13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr13 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Give lang() function too few arguments -->
    <!-- ExpectedException: expected one argument -->
    <!-- ExpectedException: FuncLang only allows 1 arguments -->
  
  <xsl:template match="/">
    <out><xsl:apply-templates select="doc/p"/></out>
  </xsl:template>
  
  <xsl:template match="p">
    <xsl:value-of select="lang()"/><xsl:text>, </xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr14.xml
  
  Index: booleanerr14.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <p xml:lang="en"/>
    <p xml:lang="EN"/>
    <p xml:lang="en-gb"/>
    <p xml:lang="EN-GB"/>
    <p xml:lang="TH"/>
    <p/>
    <span xml:lang="en">
      <p/>
    </span>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/booleanerr/booleanerr14.xsl
  
  Index: booleanerr14.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: BOOLEANerr14 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Give lang() function too many arguments -->
    <!-- ExpectedException: expected one argument -->
    <!-- ExpectedException: FuncLang only allows 1 arguments -->
  
  <xsl:template match="/">
    <out><xsl:apply-templates select="doc/p"/></out>
  </xsl:template>
  
  <xsl:template match="p">
    <xsl:value-of select="lang('en','us')"/><xsl:text>, </xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr01.xml
  
  Index: conditionalerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <critter><name>Lassie</name></critter>
    <critter><name>Wishbone</name></critter>
    <critter><name>Felix</name></critter>
    <critter><name>Sylvester</name></critter>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr01.xsl
  
  Index: conditionalerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Purpose: Test for xsl:choose with no when or otherwise clauses. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Required Element not found: xsl:when -->
  
  <xsl:template match="/doc">
    <out>
      <xsl:for-each select="critter">
        <xsl:choose>
        </xsl:choose>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr02.xml
  
  Index: conditionalerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr02.xsl
  
  Index: conditionalerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test xsl:choose without xsl:when, but otherwise exists. -->
    <!-- ExpectedException: Required Element not found: xsl:when -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:otherwise>1</xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr03.xml
  
  Index: conditionalerr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr03.xsl
  
  Index: conditionalerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of xsl:choose containing sub-element that is not a when or otherwise. -->
    <!-- ExpectedException: ElemTemplateElement error: Can not add #text to xsl:choose -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: ElemTemplateElement error: Can not add #text to xsl:choose -->
    <!-- ExpectedException: xsl:text is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:text>Inside choose</xsl:text>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr04.xml
  
  Index: conditionalerr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr04.xsl
  
  Index: conditionalerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Purpose: Test xsl:choose having more than one xsl:otherwise. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:otherwise is not allowed in this position in the stylesheet -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:when test="false()">Should not get this output!</xsl:when>
        <xsl:otherwise>1</xsl:otherwise>
        <xsl:otherwise>2</xsl:otherwise>
        <xsl:otherwise>3</xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr05.xml
  
  Index: conditionalerr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr05.xsl
  
  Index: conditionalerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Purpose: Test xsl:when after xsl:otherwise, match on final when. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:when is not allowed in this position in the stylesheet -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:when test="blah">BAD</xsl:when>
        <xsl:otherwise>0</xsl:otherwise>
        <xsl:when test="foo">1</xsl:when>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr06.xml
  
  Index: conditionalerr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr06.xsl
  
  Index: conditionalerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test bad attribute on xsl:when (only "test" allowed). -->
    <!-- ExpectedException: xsl:when has an illegal attribute: name -->
    <!-- ExpectedException: "name" attribute is not allowed on the xsl:when element! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:when test="foo" name="pointless">1</xsl:when>
        <xsl:otherwise>0</xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr07.xml
  
  Index: conditionalerr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr07.xsl
  
  Index: conditionalerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test attempt to put attribute on xsl:otherwise. -->
    <!-- ExpectedException: xsl:otherwise has an illegal attribute: test -->
    <!-- ExpectedException: "test" attribute is not allowed on the xsl:otherwise element! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:when test="blah">BAD</xsl:when>
        <xsl:otherwise test="not(blah)">0</xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr08.xml
  
  Index: conditionalerr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr08.xsl
  
  Index: conditionalerr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test attempt to put attribute on xsl:choose. -->
    <!-- ExpectedException: xsl:choose has an illegal attribute: name -->
    <!-- ExpectedException: "name" attribute is not allowed on the xsl:choose element! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose name="outer">
        <xsl:when test="foo">1</xsl:when>
        <xsl:otherwise>0</xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr09.xml
  
  Index: conditionalerr09.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr09.xsl
  
  Index: conditionalerr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test xsl:if that lacks the required "test" attribute. -->
    <!-- ExpectedException: xsl:if must have a test attribute -->
    <!-- ExpectedException: xsl:if requires attribute: test -->
  <xsl:template match="/">
    <out>
      <xsl:if>
        <xsl:text>string</xsl:text>
      </xsl:if>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr10.xml
  
  Index: conditionalerr10.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <doc>
  this text shouldn't be here.
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr10.xsl
  
  Index: conditionalerr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test xsl:if that has an empty "test" attribute. -->
    <!-- ExpectedException: Empty expression -->
  
  <xsl:template match="/">
    <out>
      <xsl:if test="">
        <xsl:text>string</xsl:text>
      </xsl:if>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr11.xml
  
  Index: conditionalerr11.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <person><sex>M</sex><name>John</name></person>
    <person><sex>F</sex><name>Jane</name></person>
    <person><sex>H</sex><name>Hermaphrodite</name></person>
    <person><sex>12</sex><name>Prince</name></person>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr11.xsl
  
  Index: conditionalerr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use when outside of choose. -->
    <!-- ExpectedException: (StylesheetHandler) xsl:when not parented by xsl:choose! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) xsl:when not parented by xsl:choose! -->
    <!-- ExpectedException: xsl:when is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="/doc">
    <out>
      <xsl:for-each select="person">
        <xsl:when test="sex='M'">&#xa;Male: </xsl:when>
        <xsl:value-of select="name"/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr12.xml
  
  Index: conditionalerr12.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <person><sex>M</sex><name>John</name></person>
    <person><sex>F</sex><name>Jane</name></person>
    <person><sex>H</sex><name>Hermaphrodite</name></person>
    <person><sex>12</sex><name>Prince</name></person>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr12.xsl
  
  Index: conditionalerr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr12 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use otherwise outside of choose. -->
    <!-- ExpectedException: (StylesheetHandler) xsl:otherwise not parented by xsl:choose! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) xsl:otherwise not parented by xsl:choose! -->
    <!-- ExpectedException: xsl:otherwise is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="/doc">
    <out>
      <xsl:for-each select="person">
        <xsl:otherwise>&#xa;Male: </xsl:otherwise>
        <xsl:value-of select="name"/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr13.xml
  
  Index: conditionalerr13.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr13.xsl
  
  Index: conditionalerr13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr13 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test xsl:when lacking the "test" attribute. -->
    <!-- ExpectedException: xsl:when must have a 'test' attribute -->
    <!-- ExpectedException: xsl:when requires attribute: test -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:when>1</xsl:when>
        <xsl:otherwise>0</xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr14.xml
  
  Index: conditionalerr14.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr14.xsl
  
  Index: conditionalerr14.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr14 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test xsl:when "test" having null content. -->
    <!-- ExpectedException: Empty expression -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:when test="">1</xsl:when>
        <xsl:otherwise>0</xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr15.xml
  
  Index: conditionalerr15.xml
  ===================================================================
  <?xml version="1.0"?>
  <Family>
  <Child name="Harry">
  <Name>Harry</Name>
  </Child>
  <Child name="Tom">
  <Name>Tom</Name>
  </Child>
  <Child name="Dick">
  <Name>Dick</Name>
  </Child>
  <Child name="John">
  <Name>Dick</Name>
  </Child>
  <Child name="Joe">
  <Name>Dick</Name>
  </Child>
  <Child name="Paulette">
  <Name>Paulette</Name>
  </Child>
  <Child name="Peter">
  <Name>Peter</Name>
  </Child>
  </Family>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr15.xsl
  
  Index: conditionalerr15.xsl
  ===================================================================
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr15 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.1 -->
    <!-- Purpose: Test of incorrect use of | where 'or' was intended. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: invalid token: | -->
    
  <xsl:template match="Family">
    <out>
      <xsl:for-each select="*">  
        <xsl:if test="@name='John' | @name='Joe'">
        <xsl:value-of select="@name"/> Smith</xsl:if><xsl:text>
  </xsl:text>  
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr16.xml
  
  Index: conditionalerr16.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo>
      <test/>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr16.xsl
  
  Index: conditionalerr16.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr16 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test use of non-existant variable in test attribute. -->
    <!-- ExpectedException: Could not find variable with the name of level -->
  
  <xsl:template match="doc">
    <out>
      <xsl:if test='$level=1'>1</xsl:if>
    </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr17.xml
  
  Index: conditionalerr17.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <doc>
  this text shouldn't be here.
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr17.xsl
  
  Index: conditionalerr17.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr17 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test xsl:if that has bad content in "test" attribute. -->
    <!-- ExpectedException: Invalid token -->
    <!-- Note the below line may not work, as it's been escaped. This 
         test also causes problems with ConsoleLogger, so we may 
         want to change the test somewhat -->
    <!-- ExpectedException: Could not find function: &#58490;&#57332; -->
    <!-- ExpectedException: Could not find function: --><!-- Provide minimal detection: should be reviewed -sc -->
  
  <xsl:template match="/">
    <out>
      <xsl:if test="�not(name(.)='')">
        <xsl:text>string</xsl:text>
      </xsl:if>
    </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr18.xml
  
  Index: conditionalerr18.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <foo/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr18.xsl
  
  Index: conditionalerr18.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr18 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test xsl:when that has bad content in "test" attribute. -->
    <!-- ExpectedException: Invalid token -->
    <!-- ExpectedException: Could not find function: &#58490;&#57332; -->
    <!-- ExpectedException: Could not find function: --><!-- see conditionalerr17 -->
  
  <xsl:template match="doc">
    <out>
      <xsl:choose>
        <xsl:when test="�not(name(.)='')">1</xsl:when>
        <xsl:otherwise>0</xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr19.xml
  
  Index: conditionalerr19.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <person><sex>M</sex><name>John</name></person>
    <person><sex>F</sex><name>Jane</name></person>
    <person><sex>H</sex><name>Hermaphrodite</name></person>
    <person><sex>12</sex><name>Prince</name></person>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr19.xsl
  
  Index: conditionalerr19.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr19 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:choose at top level, which is illegal. -->
    <!-- ExpectedException: xsl:choose is not allowed in this position in the stylesheet -->
  
  <xsl:choose>
    <xsl:when test="doc">Found a doc</xsl:when>
    <xsl:when test="person">Found a person</xsl:when>
    <xsl:otherwise>Who knows?</xsl:otherwise>
  </xsl:choose>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr20.xml
  
  Index: conditionalerr20.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr20.xsl
  
  Index: conditionalerr20.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr20 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:if at top level, which is illegal. -->
    <!-- ExpectedException: xsl:if is not allowed in this position in the stylesheet -->
  
  <xsl:if test="true()">
    <xsl:text>This should fail</xsl:text>
  </xsl:if>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr21.xml
  
  Index: conditionalerr21.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <person><sex>M</sex><name>John</name></person>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr21.xsl
  
  Index: conditionalerr21.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr21 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:when at top level, which is illegal. -->
    <!-- ExpectedException: xsl:when is not allowed in this position in the stylesheet -->
  
  <xsl:when test="sex='M'">Male: </xsl:when>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr22.xml
  
  Index: conditionalerr22.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <person><sex>F</sex><name>Jane</name></person>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/conditionalerr/conditionalerr22.xsl
  
  Index: conditionalerr22.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: conditionalerr22 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 9.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:otherwise at top level, which is illegal. -->
    <!-- ExpectedException: xsl:otherwise is not allowed in this position in the stylesheet -->
  
  <xsl:otherwise>Female: </xsl:otherwise>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr01.xml
  
  Index: copyerr01.xml
  ===================================================================
  <?xml version="1.0" encoding="UTF-8"?>
  <root xmlns:ped="http://ped.test.com">
  </root>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr01.xsl
  
  Index: copyerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <xsl:output indent="yes"/>
  
    <!-- FileName: COPYerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.3 -->
    <!-- Purpose: Test for xsl:copy-of without select. -->                
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:copy-of requires a select attribute -->
    <!-- ExpectedException: xsl:copy-of requires attribute: select -->
  
  <xsl:template match="/">
    <root>
      <xsl:apply-templates/>
    </root>
  </xsl:template>
  
  <xsl:template match="*">
    <xsl:copy-of />
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr02.xml
  
  Index: copyerr02.xml
  ===================================================================
  <?xml version="1.0"?> 
  <OL>
    <LI>item1</LI>
    <LI>item2</LI>
    <LI>item3</LI>
    <OL>
      <LI>subitem1</LI>
      <LI>subitem2</LI>
      <OL>
        <LI>subitem3</LI>
      </OL>
    </OL>
  </OL>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr02.xsl
  
  Index: copyerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: COPYerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.3 -->
    <!-- Purpose: Put xsl:copy-of at top level, which is illegal. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:copy-of is not allowed in this position in the stylesheet -->
  
  <xsl:copy-of select="OL"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr03.xml
  
  Index: copyerr03.xml
  ===================================================================
  <?xml version="1.0"?> 
  <OL>
    <LI>item1</LI>
    <LI>item2</LI>
    <LI>item3</LI>
    <OL>
      <LI>subitem1</LI>
      <LI>subitem2</LI>
      <OL>
        <LI>subitem3</LI>
      </OL>
    </OL>
  </OL>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr03.xsl
  
  Index: copyerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: COPYerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.5 -->
    <!-- Purpose: Put xsl:copy at top level, which is illegal. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:copy is not allowed in this position in the stylesheet -->
  
  <xsl:copy>
    <xsl:apply-templates select="*|text()"/>
  </xsl:copy>
  
  <xsl:template match="/">
    <out>This should fail</out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr04.xml
  
  Index: copyerr04.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc top="gotcha"></doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr04.xsl
  
  Index: copyerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: COPYerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.3 -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Attempt to write an attribute with no element -->
    <!-- Purpose: Try to copy an attribute, via copy-of, before there is any element produced. -->
  
  <xsl:output method="xml" encoding="UTF-8"/>
  
  <xsl:template match="/">
    <xsl:copy-of select="doc/@*"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr05.xml
  
  Index: copyerr05.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc top="gotcha"></doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/copyerr/copyerr05.xsl
  
  Index: copyerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: COPYerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.3 -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Attempt to write an attribute with no element -->
    <!-- Purpose: Try to copy an attribute, via copy, before there is any element produced. -->
  
  <xsl:output method="xml" encoding="UTF-8"/>
  
  <xsl:template match="/">
    <xsl:apply-templates select="doc/@*"/>
  </xsl:template>
  
  <xsl:template match="@*">
    <xsl:copy/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/embederr/embederr01.xml
  
  Index: embederr01.xml
  ===================================================================
  <?xml version="1.0"?> 
  <expense-report>
    <total>153</total>
  </expense-report>
  
  
  1.1                  xml-xalan/test/tests/conferr/embederr/embederr01.xsl
  
  Index: embederr01.xsl
  ===================================================================
  <html xsl:version="1.0"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        xmlns="http://www.w3.org/TR/xhtml1/strict">
  
    <!-- FileName: EMBEDerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.3 LRE as Stylesheet -->
    <!-- Purpose: Literal Result Element used as stylesheet
    	   cannot contain top-level elements. Should fail at line
    	   containing xsl:key statement -->
    <!-- ExpectedException: (StylesheetHandler) xsl:key is not allowed inside a template! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) xsl:key is not allowed inside a template! -->
    <!-- ExpectedException: xsl:key is not allowed in this position in the stylesheet! -->
  
    <xsl:key name="test" match="para" use="@id"/>
  
    <head>
      <title>Expense Report Summary</title>
    </head>
    <body>
      <p>Total Amount: <xsl:value-of select="expense-report/total"/></p>
    </body>
  </html>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/embederr/embederr02.xml
  
  Index: embederr02.xml
  ===================================================================
  <?xml version="1.0"?> 
  <expense-report>
    <total>153</total>
  </expense-report>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/embederr/embederr02.xsl
  
  Index: embederr02.xsl
  ===================================================================
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                  xmlns="http://www.w3.org/TR/xhtml1/strict">
  
    <!-- FileName: EMBEDerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.3 LRE as Stylesheet -->
    <!-- Purpose: See what happens when version number is missing from xsl namespace (above). -->
    <!-- ExpectedException: stylesheet must have a "version" attribute -->
    <!-- ExpectedException: xsl:stylesheet requires attribute: version -->
  
  <xsl:template match="/">
  <html>
    <head>
      <title>Expense Report Summary</title>
    </head>
    <body>
      <p>Total Amount: <xsl:value-of select="expense-report/total"/></p>
    </body>
  </html>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/expressionerr/expressionerr01.xml
  
  Index: expressionerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE doc [
    <!NOTATION gif SYSTEM "../www.foo.com" >
    <!ENTITY hatch-pic
           SYSTEM "../grafix/OpenHatch.gif"
           NDATA gif >
    <!ELEMENT doc (#PCDATA)>
  ]>         
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/expressionerr/expressionerr01.xsl
  
  Index: expressionerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: expressionerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 -->
    <!-- Purpose: Invoke unparsed-entity-uri function with zero arguments -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: The unparsed-entity-uri function should take one argument -->
    <!-- ExpectedException: FuncUnparsedEntityURI only allows 1 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="unparsed-entity-uri()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/expressionerr/expressionerr02.xml
  
  Index: expressionerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <!DOCTYPE doc [
    <!NOTATION gif SYSTEM "../www.foo.com" >
    <!ENTITY hatch-pic
           SYSTEM "../grafix/OpenHatch.gif"
           NDATA gif >
    <!ELEMENT doc (#PCDATA)>
  ]>         
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/expressionerr/expressionerr02.xsl
  
  Index: expressionerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: EXPRerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Invoke unparsed-entity-uri function with too many arguments -->
    <!-- ExpectedException: The unparsed-entity-uri function should take one argument -->
    <!-- ExpectedException: FuncUnparsedEntityURI only allows 1 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="unparsed-entity-uri('foo','hatch-pic')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr01.xml
  
  Index: extenderr01.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr01.xsl
  
  Index: extenderr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                  xmlns:ext="class:TestElemExt"
                  xmlns:lxslt="http://xml.apache.org/xslt"
                  extension-element-prefixes="ext">
  
    <!-- FileName: extenderr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 14 Extensions -->
    <!-- Purpose: Put xsl:fallback at top level, which is illegal. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:fallback is not allowed in this position in the stylesheet -->
  
  <lxslt:component prefix="ext" elements="test"/>
  
  <xsl:fallback>
    <xsl:text>Fallback: extension was not found.</xsl:text>
  </xsl:fallback>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr02.xml
  
  Index: extenderr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr02.xsl
  
  Index: extenderr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: EXTENDerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 14 Extensions -->
    <!-- Purpose: Test function-available with too few arguments. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: function-available requires one argument -->
    <!-- ExpectedException: FuncExtFunctionAvailable only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="function-available()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr03.xml
  
  Index: extenderr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr03.xsl
  
  Index: extenderr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: EXTENDerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 14 Extensions -->
    <!-- Purpose: Test function-available with too many arguments. -->
    <!-- ExpectedException: function-available requires one argument -->
    <!-- ExpectedException: FuncExtFunctionAvailable only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="function-available('document','whatever')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr04.xml
  
  Index: extenderr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr04.xsl
  
  Index: extenderr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: EXTENDerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 14 Extensions -->
    <!-- Purpose: Test element-available with too few arguments. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: element-available requires one argument -->
    <!-- ExpectedException: FuncExtElementAvailable only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
       <xsl:value-of select="element-available()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr05.xml
  
  Index: extenderr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/extenderr/extenderr05.xsl
  
  Index: extenderr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: EXTENDerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 14 Extensions -->
    <!-- Purpose: Test element-available with too many arguments. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: element-available requires one argument -->
    <!-- ExpectedException: FuncExtElementAvailable only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
       <xsl:value-of select="element-available('xsl:value-of','xsl:for-each')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr01.xml
  
  Index: idkeyerr01.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/conferr/idkeyerr/idkeyerr01.xsl
  
  Index: idkeyerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Test for missing name attribute in xsl:key. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:key requires a name attribute! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: xsl:key requires a name attribute! -->
    <!-- ExpectedException: xsl:key requires attribute: name -->
  <xsl:output indent="yes"/>
  
  <xsl:key match="div" use="title" />
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr02.xml
  
  Index: idkeyerr02.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/conferr/idkeyerr/idkeyerr02.xsl
  
  Index: idkeyerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Test for missing match attribute in xsl:key. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:key requires a match attribute! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: xsl:key requires a match attribute! -->
    <!-- ExpectedException: xsl:key requires attribute: match -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" use="title"/>
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr03.xml
  
  Index: idkeyerr03.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/conferr/idkeyerr/idkeyerr03.xsl
  
  Index: idkeyerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Test for missing use attribute in xsl:key. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:key requires a use attribute! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: xsl:key requires a use attribute! -->
    <!-- ExpectedException: xsl:key requires attribute: use -->
    
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" match="div" />
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr04.xml
  
  Index: idkeyerr04.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/conferr/idkeyerr/idkeyerr04.xsl
  
  Index: idkeyerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Test for two name attributes in xsl:key. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Attribute "name" was already specified for element "xsl:key". -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: Attribute "name" was already specified for element "xsl:key". -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" match="div" use="title" name="otherkey" />
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr05.xml
  
  Index: idkeyerr05.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/conferr/idkeyerr/idkeyerr05.xsl
  
  Index: idkeyerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Test for two match attributes in xsl:key. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Attribute "match" was already specified for element "xsl:key". -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: Attribute "match" was already specified for element "xsl:key". -->
    
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" match="foo" use="title" match="div" />
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr06.xml
  
  Index: idkeyerr06.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/conferr/idkeyerr/idkeyerr06.xsl
  
  Index: idkeyerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Test for two use attributes in xsl:key. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Attribute "use" was already specified for element "xsl:key". -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: Attribute "use" was already specified for element "xsl:key". -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" use="foo" match="div" use="title"/>
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr07.xml
  
  Index: idkeyerr07.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/conferr/idkeyerr/idkeyerr07.xsl
  
  Index: idkeyerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for invalid value of name attribute in xsl:key. -->
    <!-- ExpectedException: name contains invalid characters -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="+" match="div" use="title"/>
  
  <xsl:template match="doc">
    <xsl:value-of select="key('+', 'Introduction')/p"/>
    <xsl:value-of select="key('+', 'Stylesheet Structure')/p"/>
    <xsl:value-of select="key('+', 'Expressions')/p"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr08.xml
  
  Index: idkeyerr08.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/conferr/idkeyerr/idkeyerr08.xsl
  
  Index: idkeyerr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for invalid value of match attribute in xsl:key. -->
    <!-- ExpectedException: Invalid match pattern -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" match="+" use="title"/>
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr09.xml
  
  Index: idkeyerr09.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/conferr/idkeyerr/idkeyerr09.xsl
  
  Index: idkeyerr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for invalid value of use attribute in xsl:key. -->
    <!-- ExpectedException: invalid use expression -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" match="div" use="+"/>
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr10.xml
  
  Index: idkeyerr10.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/conferr/idkeyerr/idkeyerr10.xsl
  
  Index: idkeyerr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for use of key() without a corresponding xsl:key declaration. -->
    <!-- ExpectedException: There is no xsl:key declaration for mykey -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykeyspace" match="div" use="title"/>
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr11.xml
  
  Index: idkeyerr11.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/conferr/idkeyerr/idkeyerr11.xsl
  
  Index: idkeyerr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: It is an error for the "match" attribute on xsl:key to contain a variable reference. -->
    <!-- ExpectedException: Extra illegal tokens: 'v1' -->
  
  <xsl:output indent="yes"/>
  <xsl:variable name="v1">div</xsl:variable>
  
  <xsl:key name="mykey" match="$v1" use="title"/>
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr12.xml
  
  Index: idkeyerr12.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/conferr/idkeyerr/idkeyerr12.xsl
  
  Index: idkeyerr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr12 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Purpose: It is an error for the "use" attribute on xsl:key to contain a variable reference. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Extra illegal tokens: 'v1' -->
  
  <xsl:output indent="yes"/>
  <xsl:variable name="v1">title</xsl:variable>
  
  <xsl:key name="mykey" match="div" use="$v1" />
  
  <xsl:template match="doc">
    <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:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr13.xml
  
  Index: idkeyerr13.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/conferr/idkeyerr/idkeyerr13.xsl
  
  Index: idkeyerr13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr13 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for two xsl:key declarations with the same name attribute. -->
    <!-- The spec allows this. If the processor implements the feature, then 'titles' is
       one keyspace where the two types of 'use' nodes index their designated match nodes,
       but don't cross-index the others as would happen if | notation was used in one xsl:key. -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="titles" match="div" use="title"/>
  <xsl:key name="titles" 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/conferr/idkeyerr/idkeyerr14.xml
  
  Index: idkeyerr14.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/conferr/idkeyerr/idkeyerr14.xsl
  
  Index: idkeyerr14.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr14 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Call key() with too few arguments. -->
    <!-- ExpectedException: key() requires two arguments -->
    <!-- ExpectedException: FuncKey only allows 2 arguments -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" match="div" use="title" />
  
  <xsl:template match="doc">
    <xsl:value-of select="key('Expressions')/p"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr15.xml
  
  Index: idkeyerr15.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/conferr/idkeyerr/idkeyerr15.xsl
  
  Index: idkeyerr15.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr15 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Call key() with too many arguments. -->
    <!-- ExpectedException: key() requires two arguments -->
    <!-- ExpectedException: FuncKey only allows 2 arguments -->
  
  <xsl:output indent="yes"/>
  
  <xsl:key name="mykey" match="div" use="title" />
  
  <xsl:template match="doc">
    <xsl:value-of select="key('mykey','Expressions','useless')/p"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr16.xml
  
  Index: idkeyerr16.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  <a/>
  <a/>
  <b/>
  <c/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr16.xsl
  
  Index: idkeyerr16.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr16 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 Miscellaneous Additional Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'generate-id()' with multiple arguments. Should generate
         an error. Should test for zero, or one argument.  -->
    <!-- ExpectedException: generate-id only allows 1 argument -->
    <!-- ExpectedException: FuncGenerateId only allows 1 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="generate-id(a,d)"/><xsl:text>,</xsl:text>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr17.xml
  
  Index: idkeyerr17.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>
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr17.xsl
  
  Index: idkeyerr17.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr17 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test placement of xsl:key inside atemplate, which is illegal. -->
    <!-- ExpectedException: XSLT: (StylesheetHandler) xsl:key is not allowed inside a template! -->
    <!-- ExpectedException: xsl:key is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:key name="titles" match="div" use="title"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr18.xml
  
  Index: idkeyerr18.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/conferr/idkeyerr/idkeyerr18.xsl
  
  Index: idkeyerr18.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr18 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for id() with too few arguments. -->
    <!-- ExpectedException: id() should have one argument -->
    <!-- ExpectedException: FuncId only allows 1 argument -->
  
  <xsl:template match="t04">
    <out>
      <xsl:value-of select="id()/@id"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr19.xml
  
  Index: idkeyerr19.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/conferr/idkeyerr/idkeyerr19.xsl
  
  Index: idkeyerr19.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr19 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for id() with too many arguments. -->
    <!-- ExpectedException: id() should have one argument -->
    <!-- ExpectedException: FuncId only allows 1 argument -->
  
  <xsl:template match="t04">
    <out>
      <xsl:value-of select="id('b','d')/@id"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr20.xml
  
  Index: idkeyerr20.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <div allow="yes">
      <title>Introduction</title>
      <p>Intro Section.</p>
    </div>
    
    <div allow="yes">
      <title>Stylesheet Structure</title>
      <p>SS Section.</p>
    </div>
    
    <div allow="no">
      <title>Expressions</title>
      <p>Exp Section.</p>
    </div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr20.xsl
  
  Index: idkeyerr20.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr20 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- VersionDrop: 1.1 will outlaw this trick. -->
    <!-- Creator: David Marston -->
    <!-- Section: 12.2 -->
    <!-- Purpose: Test for xsl:key that uses key() on a different keyspace in its match attribute. -->
    <!-- ExpectedException: recursive key() calls are not allowed -->
  
  <xsl:key name="allowdiv" match="div" use="@allow"/>
  <xsl:key name="titles" match="key('allowdiv','yes')" use="title"/>
  
  <xsl:template match="doc">
   <root>
    <xsl:value-of select="key('titles', 'Introduction')/p"/>
    <xsl:value-of select="key('titles', 'Stylesheet Structure')/p"/>
    <!-- The next one is an empty node-set -->
    <xsl:value-of select="key('titles', 'Expressions')/p"/>
   </root>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr21.xml
  
  Index: idkeyerr21.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>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/idkeyerr21.xsl
  
  Index: idkeyerr21.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: idkeyerr21 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Use variable in id() argument in match pattern -->
    <!-- ExpectedException: Argument to id() in match pattern must be a literal string -->
  
  <xsl:strip-space elements="a b c"/>
  
  <xsl:variable name="pick" select="'id2'"/>
  
  <xsl:template match="/">
    <out>
      <xsl:apply-templates select="doc/a//text()"/>
      <xsl:text>&#10;</xsl:text>
    </out>
  </xsl:template>
  
  <xsl:template match="id($pick)//text()">
    <xsl:text>&#10;</xsl:text>
    <x><xsl:value-of select="../@id"/></x>
  </xsl:template>
  
  <xsl:template match="text()">
    <xsl:text>&#10;</xsl:text>
    <other><xsl:value-of select="."/></other>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/idkeyerr/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/conferr/impinclerr/f.xsl
  
  Index: f.xsl
  ===================================================================
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <xsl:import href="g.xsl"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/g.xsl
  
  Index: g.xsl
  ===================================================================
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <xsl:template match="foo">
    <bad-match/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/h.xsl
  
  Index: h.xsl
  ===================================================================
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <xsl:template match="foo">
    <best-match/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr01.xml
  
  Index: impinclerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <root-tag>
  	<one-tag>Text of one-tag</one-tag>
  	<two-tag>Text of two-tag</two-tag>
  </root-tag>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr01.xsl
  
  Index: impinclerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: ImpInclerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.6.2 Style Import -->
    <!-- Creator: David Marston -->
    <!-- Purpose: It is an error for a stylesheet to import itself. -->
    <!-- ExpectedException: (StylesheetHandler) file:/E:\builds\testsuite\.\conf\impincl\err\impinclerr01.xsl is directly or indirectly importing itself! -->
    <!-- ExpectedException: (StylesheetHandler) file:E:/builds/testsuite/conf/impincl/err/impinclerr01.xsl is directly or indirectly importing itself! -->  
    <!-- ExpectedException: impinclerr01.xsl is directly or indirectly importing itself! -->
  
  <xsl:import href="impinclerr01.xsl"/>
  
  <xsl:template match="doc">
    <out>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr02.xml
  
  Index: impinclerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <doc1>
      <tag>This</tag>
      <tag>That</tag>
      <tag>Other</tag>
      <tag>Thing</tag>
    </doc1>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr02.xsl
  
  Index: impinclerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: ImpInclerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.6 Overriding Template Rules -->
    <!-- Creator: David Marston -->
    <!-- Purpose: It is an error if apply-imports is instantiated when the current
         template rule is null, i.e. from within a xsl:for-each loop. -->
    <!-- ExpectedException: Attempt to use apply-imports without current template rule -->
    <!-- ExpectedException: xsl:apply-imports not allowed in a xsl:for-each -->
  
  <xsl:import href="k.xsl"/>
  
  <xsl:template match="doc">
    <xsl:apply-templates/>
  </xsl:template>
  
  <xsl:template match="doc1">
    <xsl:for-each select="*">
      <xsl:value-of select="."/>
      <xsl:apply-imports/>
    </xsl:for-each>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr03.xml
  
  Index: impinclerr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr03.xsl
  
  Index: impinclerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: ImpInclerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.6.2 Stylesheet Import -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Imports must precede all other elements, including 
    	   Includes, in a stylesheet. -->
    <!-- ExpectedException: xsl:import is not allowed in this position in the stylesheet -->
  
  <xsl:include href="f.xsl"/>
  <xsl:import href="h.xsl"/>
  
  <xsl:template match="doc">
    <out>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr04.xml
  
  Index: impinclerr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr04.xsl
  
  Index: impinclerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: ImpInclerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.6.1 Style Inclusion -->
    <!-- Creator: David Marston -->
    <!-- Purpose: It is an error for a stylesheet to include itself. -->
    <!-- ExpectedException: (StylesheetHandler) file:/E:\builds\testsuite\.\conf\impincl\err\impinclerr04.xsl is directly or indirectly importing itself! -->
    <!-- ExpectedException: (StylesheetHandler) file:E:/builds/testsuite/conf/impincl/err/impinclerr04.xsl is directly or indirectly importing itself! -->
    <!-- ExpectedException: impinclerr04.xsl is directly or indirectly including itself! -->
  
  <xsl:include href="impinclerr04.xsl"/>
  
  <xsl:template match="doc">
    <out>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr05.xml
  
  Index: impinclerr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr05.xsl
  
  Index: impinclerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: impinclerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.6.2 Stylesheet Import -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: Check that proper error is reported if required attribute, href,
         is not included. -->
    <!-- Note: SCurcuru 28-Feb-00 added ExpectedException; seems like good error text to me. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) Could not find href attribute for xsl:import -->
    <!-- ExpectedException: (StylesheetHandler) Could not find href attribute for xsl:import -->
    <!-- ExpectedException: xsl:import requires attribute: href -->
  
  <xsl:import/>
  
  <xsl:template match="doc">
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr06.xml
  
  Index: impinclerr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr06.xsl
  
  Index: impinclerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: impinclerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.6.1 Stylesheet Inclusion -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: Check that proper error is reported if required attribute, href,
         is not included. -->
    <!-- Note: SCurcuru 28-Feb-00 added ExpectedException; seems like good error text to me. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) Could not find href attribute for xsl:include -->
    <!-- ExpectedException: (StylesheetHandler) Could not find href attribute for xsl:include -->
    <!-- ExpectedException: xsl:include requires attribute: href -->
  
  <xsl:include/>
  
  <xsl:template match="doc">
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr07.xml
  
  Index: impinclerr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <doc1>
      <tag>This</tag>
      <tag>That</tag>
      <tag>Other</tag>
      <tag>Thing</tag>
    </doc1>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr07.xsl
  
  Index: impinclerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: ImpInclerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.6 Overriding Template Rules -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:apply-imports at top level, which is illegal. -->
    <!-- ExpectedException: xsl:apply-imports is not allowed in this position in the stylesheet -->
  
  <xsl:import href="k.xsl"/>
  
  <xsl:apply-imports/>
  
  <xsl:template match="doc">
    <xsl:text>This should fail</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr08.xml
  
  Index: impinclerr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr08.xsl
  
  Index: impinclerr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: ImpInclerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.6.2 Stylesheet Import -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test placement of xsl:import inside a template, which is illegal. -->
    <!-- ExpectedException: XSLT: (StylesheetHandler) xsl:import is not allowed inside a template! -->
    <!-- ExpectedException: xsl:import is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:import href="h.xsl"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr09.xml
  
  Index: impinclerr09.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/impinclerr09.xsl
  
  Index: impinclerr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: ImpInclerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.6.1 Stylesheet Inclusion -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test placement of xsl:include inside a template, which is illegal. -->
    <!-- ExpectedException: XSLT: (StylesheetHandler) xsl:include is not allowed inside a template! -->
    <!-- ExpectedException: xsl:include is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:include href="h.xsl"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/impinclerr/k.xsl
  
  Index: k.xsl
  ===================================================================
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
  <xsl:template match="doc1" priority="1.0">
  	<xsl:for-each select="*">
  		<xsl:value-of select="."/>
  	</xsl:for-each>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr01.xml
  
  Index: lreerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr01.xsl
  
  Index: lreerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
      xmlns:ext="http://somebody.elses.extension"
      xmlns:java="http://xml.apache.org/xslt/java"
      xmlns:ped="http://tester.com"
      xmlns:bdd="http://buster.com"
      xmlns="www.lotus.com"
      exclude-result-prefixes="java jad #default"
      extension-element-prefixes="ext">
  
    <!-- FileName: lreerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.1 Literal Result Elements-->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: It is an error if there is no namespace bound to the prefix named in
         the exclude-result-prefixes attribute of the stylesheet. -->
    <!-- Note: SCurcuru 28-Feb-00 added ExpectedException; seems like good error text to me. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: Prefix in exclude-result-prefixes is not valid: jad -->
    <!-- ExpectedException: Prefix in exclude-result-prefixes is not valid: jad -->
  
  <xsl:template match="doc">
    <out xsl:if= "my if" english="to leave"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr02.xml
  
  Index: lreerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>DocValue
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr02.xsl
  
  Index: lreerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
      xmlns:ext="http://somebody.elses.extension"
      xmlns:java="http://xml.apache.org/xslt/java"
      xmlns:ped="http://tester.com"
      xmlns:bdd="http://buster.com"
      xmlns="www.lotus.com"
      extension-element-prefixes="ext">
  
    <!-- FileName: lreerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.1 Literal Result Elements-->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: It is an error if there is no namespace bound to the prefix on 
         the element bearing the xsl:exclude-result-prefixes attribute. -->
    <!-- Note: SCurcuru 28-Feb-00 added ExpectedException; seems like good error text to me. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: Prefix in exclude-result-prefixes is not valid: jad -->
    <!-- ExpectedException: Prefix in exclude-result-prefixes is not valid: jad -->
  
  <xsl:template match="doc">
    <out xsl:if= "my if" english="to leave" xsl:exclude-result-prefixes="java jad #default"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr03.xml
  
  Index: lreerr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr03.xsl
  
  Index: lreerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
      xmlns:ped="http://www.tester.com">
  
  <xsl:output indent="yes"/>
  
    <!-- FileName: lreerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.2 Creating Elements with xsl:element. -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: Test error reporting if required attribute of xsl:element 
         is not specified.-->
    <!-- ExpectedException: xsl:element requires attribute: name -->
  
  <xsl:template match="doc">
    <xsl:element/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr04.xml
  
  Index: lreerr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr04.xsl
  
  Index: lreerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
      xmlns:ped="http://www.tester.com">
  
    <!-- FileName: lreerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.3 Creating Attributes with xsl:attribute. -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: Test error reporting if required attribute of xsl:attribute
         is not specified.-->
    <!-- ExpectedException: xsl:attribute requires attribute: name -->
  
  <xsl:template match="doc">
    <xsl:element name="test">
      <xsl:attribute>Hello</xsl:attribute>
    </xsl:element>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr05.xml
  
  Index: lreerr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr05.xsl
  
  Index: lreerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
  
    <!-- FileName: LREerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.1 Literal Result Elements-->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to put out literal output without a template. -->
    <!-- ExpectedException: Illegal top-level element -->
    <!-- ExpectedException: out is not allowed in this position in the stylesheet! -->
  
  <out>Data</out>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr06.xml
  
  Index: lreerr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr06.xsl
  
  Index: lreerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
  
    <!-- FileName: lreerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.1 Literal Result Elements-->
    <!-- Purpose: Try to put out value of a variable without a template. -->
    <!-- ExpectedException: Illegal top-level element -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: out is not allowed in this position in the stylesheet! -->
  
  <xsl:variable name="var" select="Data"/>
  
  <out>$var</out>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr07.xml
  
  Index: lreerr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr07.xsl
  
  Index: lreerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" >
  
    <!-- FileName: LREerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.1 Literal Result Elements-->
    <!-- Purpose: Try to put out literal output without a template. -->
    <!-- ExpectedException: Illegal characters in xsl:stylesheet -->
    <!-- ExpectedException: Non-whitespace text is not allowed in this position in the stylesheet -->
  
  Data
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr08.xml
  
  Index: lreerr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/lreerr/lreerr08.xsl
  
  Index: lreerr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
      xmlns:ped="http://www.tester.com">
  
  <xsl:output indent="yes"/>
  
    <!-- FileName: lreerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.2 Creating Elements with xsl:element. -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test error reporting if name attribute of xsl:element is empty. -->
    <!-- ExpectedException: Illegal element name -->
  
  <xsl:template match="doc">
    <xsl:element name="">foo</xsl:element>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr01.xml
  
  Index: matcherr01.xml
  ===================================================================
  <?xml version="1.0"?> 
  <letters>
    <letter>a</letter>
    <letter>b</letter>
    <letter>c</letter>
    <letter>b</letter>
    <letter>h</letter>
  </letters>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr01.xsl
  
  Index: matcherr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for error when xsl:template has neither match nor name. -->
    <!-- ExpectedException: xsl:template requires either a name or a match attribute. -->
  
  <xsl:template match="letters">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template>
    <xsl:value-of select="."/>
    <xsl:text> Huh? </xsl:text>
  </xsl:template>
  
  <xsl:template match="text()"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr02.xml
  
  Index: matcherr02.xml
  ===================================================================
  <?xml version="1.0"?> 
  <letters>
    <letter>a</letter>
    <letter>b</letter>
    <letter>c</letter>
    <letter>b</letter>
    <letter>h</letter>
  </letters>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr02.xsl
  
  Index: matcherr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use xsl:template as something other than a top-level element. -->
    <!-- ExpectedException: (StylesheetHandler) xsl:template is not allowed inside a template! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) xsl:template is not allowed inside a template! -->
    <!-- ExpectedException: xsl:template is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="letters">
    <out>
      <xsl:template>
        <xsl:value-of select="."/>
        <xsl:text> Huh? </xsl:text>
      </xsl:template>
    </out>
  </xsl:template>
  
  <xsl:template match="text()"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr03.xml
  
  Index: matcherr03.xml
  ===================================================================
  <?xml version="1.0"?> 
  <letters>
    <letter>a</letter>
    <letter>b</letter>
    <letter>c</letter>
    <letter>b</letter>
    <letter>h</letter>
  </letters>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr03.xsl
  
  Index: matcherr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: matcherr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for error when xsl:template is nested in another top-level element. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) xsl:template is not allowed inside a template! -->
    <!-- Author: David Marston -->
    <!-- ExpectedException: xsl:template is not allowed in this position in the stylesheet! -->
  
  <xsl:param name="bad">
    <xsl:template match="letters">
      <out>
        <xsl:apply-templates/>
      </out>
    </xsl:template>
  </xsl:param>
  
  <xsl:template match="text()"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr04.xml
  
  Index: matcherr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
   <title>Test for source tree depth</title>
   <a>
    <title>Level A</title>
    <b>
     <title>Level B</title>
     <c>
      <title>Level C</title>
      <d>
       <title>Level D</title>
       <e>
        <title>Level E</title>
        <f>
         <title>Level F</title>
         <g>
          <title>Level G</title>
          <h>
           <title>Level H</title>
           <i>
            <title>Level I</title>
            <j>
             <title>Level J</title>
             <k>
              <title>Level K</title>
              <l>
               <title>Level L</title>
               <m>
                <title>Level M</title>
                <n>
                 <title>Level N</title>
                 <o>
                  <title>Level O</title>
                 </o>
                </n>
               </m>
              </l>
             </k>
            </j>
           </i>
          </h>
         </g>
        </f>
       </e>
      </d>
     </c>
    </b>
   </a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr04.xsl
  
  Index: matcherr04.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr04 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.4 -->
    <!-- Purpose: Put content other than sort or param inside apply-templates. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: ElemTemplateElement error: Can not add #text to xsl:apply-templates -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: ElemTemplateElement error: Can not add #text to xsl:apply-templates -->
    <!-- ExpectedException: xsl:text is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="title"/><xsl:text>
  </xsl:text>
      <xsl:apply-templates select="title">
        <xsl:sort select="."/>
        <xsl:text>This should not be inside apply-templates</xsl:text>
      </xsl:apply-templates>
    </out>
  </xsl:template>
  
  <xsl:template match="text()"><!-- To suppress empty lines --><xsl:apply-templates/></xsl:template>
  
  <xsl:template match="*[@title]">
    <xsl:text>Found a node
  </xsl:text>
    <xsl:apply-templates/>
  </xsl:template>
  
  <xsl:template match="p">
    <xsl:text>Found a P node; there should not be one!
  </xsl:text>
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr05.xml
  
  Index: matcherr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
   <title>Test for source tree depth</title>
   <a>
    <title>Level A</title>
    <b>
     <title>Level B</title>
     <c>
      <title>Level C</title>
      <d>
       <title>Level D</title>
       <e>
        <title>Level E</title>
        <f>
         <title>Level F</title>
         <g>
          <title>Level G</title>
          <h>
           <title>Level H</title>
           <i>
            <title>Level I</title>
            <j>
             <title>Level J</title>
             <k>
              <title>Level K</title>
              <l>
               <title>Level L</title>
               <m>
                <title>Level M</title>
                <n>
                 <title>Level N</title>
                 <o>
                  <title>Level O</title>
                 </o>
                </n>
               </m>
              </l>
             </k>
            </j>
           </i>
          </h>
         </g>
        </f>
       </e>
      </d>
     </c>
    </b>
   </a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr05.xsl
  
  Index: matcherr05.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr05 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.4 -->
    <!-- Purpose: Put a disallowed attribute on xsl:template. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: XSL Error: xsl:template has an illegal attribute: level -->
    <!-- ExpectedException: "level" attribute is not allowed on the xsl:template element! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="title"/><xsl:text>
  </xsl:text>
      <xsl:apply-templates select="title">
        <xsl:sort select="."/>
      </xsl:apply-templates>
    </out>
  </xsl:template>
  
  <xsl:template match="text()"><!-- To suppress empty lines --><xsl:apply-templates/></xsl:template>
  
  <xsl:template match="*[@title]" level="single">
    <xsl:text>Found a node
  </xsl:text>
    <xsl:apply-templates/>
  </xsl:template>
  
  <xsl:template match="p">
    <xsl:text>Found a P node; there should not be one!
  </xsl:text>
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr06.xml
  
  Index: matcherr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <defaultcontent>
      <section1/>
      <section2/>
    </defaultcontent>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr06.xsl
  
  Index: matcherr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.1 Multiple Source Documents -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test document() function in a match pattern.
       The spec doesn't say whether it's allowed or not, but NOT seems likely. -->
    <!-- ExpectedException: Unknown nodetype: document -->
  
  <xsl:template match="defaultcontent">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="document('test6.xml')//body">
    <xsl:value-of select="name(..)"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr07.xml
  
  Index: matcherr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
   <title>Test for source tree depth</title>
   <a>
    <title>Level A</title>
    <b>
     <title>Level B</title>
     <c>
      <title>Level C</title>
      <d>
       <title>Level D</title>
       <e>
        <title>Level E</title>
        <f>
         <title>Level F</title>
         <g>
          <title>Level G</title>
          <h>
           <title>Level H</title>
           <i>
            <title>Level I</title>
            <j>
             <title>Level J</title>
             <k>
              <title>Level K</title>
              <l>
               <title>Level L</title>
               <m>
                <title>Level M</title>
                <n>
                 <title>Level N</title>
                 <o>
                  <title>Level O</title>
                 </o>
                </n>
               </m>
              </l>
             </k>
            </j>
           </i>
          </h>
         </g>
        </f>
       </e>
      </d>
     </c>
    </b>
   </a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr07.xsl
  
  Index: matcherr07.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr07 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.4 -->
    <!-- Purpose: Put a disallowed attribute on xsl:apply-templates. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: XSL Error: xsl:apply-templates has an illegal attribute: name -->
    <!-- ExpectedException: "name" attribute is not allowed on the xsl:apply-templates element -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="title"/><xsl:text>
  </xsl:text>
      <xsl:apply-templates select="title" name="tmplt1">
        <xsl:sort select="."/>
      </xsl:apply-templates>
    </out>
  </xsl:template>
  
  <xsl:template match="text()"><!-- To suppress empty lines --><xsl:apply-templates/></xsl:template>
  
  <xsl:template match="*[@title]">
    <xsl:text>Found a node
  </xsl:text>
    <xsl:apply-templates/>
  </xsl:template>
  
  <xsl:template match="p">
    <xsl:text>Found a P node; there should not be one!
  </xsl:text>
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr08.xml
  
  Index: matcherr08.xml
  ===================================================================
  <?xml version="1.0"?> 
  <letters>
    <letter>a</letter>
    <letter>b</letter>
    <letter>c</letter>
    <letter>b</letter>
    <letter>h</letter>
  </letters>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr08.xsl
  
  Index: matcherr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for error when xsl:template has neither match nor name, but has a mode. -->
    <!-- ExpectedException: XSL Error: xsl:template must have a match attribute if it has a mode. -->
    <!-- ExpectedException: xsl:template must have a name or match attribute (or both). -->
  
  <xsl:template match="letters">
    <out>
      <xsl:apply-templates mode="broken"/>
    </out>
  </xsl:template>
  
  <xsl:template mode="broken">
    <xsl:value-of select="."/>
    <xsl:text> Huh? </xsl:text>
  </xsl:template>
  
  <xsl:template match="text()"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr09.xml
  
  Index: matcherr09.xml
  ===================================================================
  <?xml version="1.0"?> 
  <letters>
    <letter>a</letter>
    <letter>b</letter>
    <letter>c</letter>
    <letter>b</letter>
    <letter>h</letter>
  </letters>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr09.xsl
  
  Index: matcherr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.4 -->
    <!-- Purpose: Put xsl:apply-templates at top level, which is illegal. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: xsl:apply-templates is not allowed in this position in the stylesheet -->
  
  <xsl:apply-templates select="letters/letter"/>
  
  <xsl:template match="letter">
    <xsl:value-of select="."/>
    <xsl:text> This should fail</xsl:text>
  </xsl:template>
  
  <xsl:template match="text()"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr10.xml
  
  Index: matcherr10.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <defaultcontent>
      <section1/>
      <section2/>
    </defaultcontent>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr10.xsl
  
  Index: matcherr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test variable in a match pattern -->
    <!-- ExpectedException: Extra illegal tokens -->
  
  <xsl:variable name="screen" select="'section1'"/>
  
  <xsl:template match="defaultcontent">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="$screen">
    <xsl:value-of select="name(.)"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr11.xml
  
  Index: matcherr11.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <defaultcontent>
      <section1/>
      <section2/>
    </defaultcontent>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/matcherr11.xsl
  
  Index: matcherr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATCHerr11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test '//' in a match pattern -->
    <!-- ExpectedException: Unexpected token in pattern -->
  
  <xsl:template match="defaultcontent">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="//">
    <xsl:value-of select="name(.)"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/matcherr/test6.xml
  
  Index: test6.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <body/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr01.xml
  
  Index: matherr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <mod attrib="2">3</mod>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr01.xsl
  
  Index: matherr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr01 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.5 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test reaction to obsolete 'quo' operator. -->
    <!-- ExpectedException: Old syntax: quo(...) is no longer defined in XPath -->
    <!-- ExpectedException: ERROR! Unknown op code: quo --><!-- Could be improved for usability -sc -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="6 quo 4"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr02.xml
  
  Index: matherr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr02.xsl
  
  Index: matherr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr02 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.5 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" with unary minus. -->
    <!-- ExpectedException: XSL Warning: Could not find function: troo -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="-troo()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr03.xml
  
  Index: matherr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr03.xsl
  
  Index: matherr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr03 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.5 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" with number(). -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="number(troo())"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr04.xml
  
  Index: matherr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr04.xsl
  
  Index: matherr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr04 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.5 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" with multiplication. -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="5 * troo()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr05.xml
  
  Index: matherr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr05.xsl
  
  Index: matherr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr05 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.5 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" with div. -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="12 div troo()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr06.xml
  
  Index: matherr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr06.xsl
  
  Index: matherr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr06 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of number() with too many arguments. -->
    <!-- ExpectedException: number() has too many arguments. -->
    <!-- ExpectedException: FuncNumber only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="number(8,doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr07.xml
  
  Index: matherr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr07.xsl
  
  Index: matherr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr07 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of sum() with too many arguments. -->
    <!-- ExpectedException: sum() has too many arguments. -->
    <!-- ExpectedException: sum only allows 1 argument -->
    <!-- ExpectedException: FuncSum only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="sum(doc,8)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr08.xml
  
  Index: matherr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr08.xsl
  
  Index: matherr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr08 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of sum() with zero arguments. -->
    <!-- ExpectedException: one argument expected -->
    <!-- ExpectedException: FuncSum only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="sum()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr09.xml
  
  Index: matherr09.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr09.xsl
  
  Index: matherr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr09 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of floor() with too many arguments. -->
    <!-- ExpectedException: floor() has too many arguments. -->
    <!-- ExpectedException: FuncFloor only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="floor(8,7)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr10.xml
  
  Index: matherr10.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr10.xsl
  
  Index: matherr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr10 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of floor() with zero arguments. -->
    <!-- ExpectedException: one argument expected -->
    <!-- ExpectedException: FuncFloor only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="floor()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr11.xml
  
  Index: matherr11.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr11.xsl
  
  Index: matherr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr11 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of ceiling() with too many arguments. -->
    <!-- ExpectedException: ceiling() has too many arguments. -->
    <!-- ExpectedException: FuncCeiling only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="ceiling(8,7)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr12.xml
  
  Index: matherr12.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr12.xsl
  
  Index: matherr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr12 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of ceiling() with zero arguments. -->
    <!-- ExpectedException: one argument expected -->
    <!-- ExpectedException: FuncCeiling only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="ceiling()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr13.xml
  
  Index: matherr13.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr13.xsl
  
  Index: matherr13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr13 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of round() with too many arguments. -->
    <!-- ExpectedException: round() has too many arguments. -->
    <!-- ExpectedException: FuncRound only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="round(8,7)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr14.xml
  
  Index: matherr14.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/matherr/matherr14.xsl
  
  Index: matherr14.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MATHerr14 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of round() with zero arguments. -->
    <!-- ExpectedException: one argument expected -->
    <!-- ExpectedException: FuncRound only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="round()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/mdocserr/mdocserr01.xml
  
  Index: mdocserr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <defaultcontent>
      <section1/>
      <section2/>
    </defaultcontent>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/mdocserr/mdocserr01.xsl
  
  Index: mdocserr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MDOCSerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.1 Multiple Source Documents -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test document() function with non-existent file. -->
    <!-- ExpectedException: File not found -->
  
  <xsl:template match="defaultcontent">
    <out>
      <xsl:apply-templates select="document('notfound.xml')/body">
        <xsl:with-param name="arg1">ok</xsl:with-param>
      </xsl:apply-templates>
    </out>
  </xsl:template>
  
  <xsl:template match="body">
    <xsl:param name="arg1">not ok</xsl:param>
    <xsl:value-of select="$arg1"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/mdocserr/mdocserr02.xml
  
  Index: mdocserr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <defaultcontent>
      <section1/>
      <section2/>
    </defaultcontent>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/mdocserr/mdocserr02.xsl
  
  Index: mdocserr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MDOCSerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.1 Multiple Source Documents -->
    <!-- Purpose: Test document() function with zero arguments. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: FuncDocument only allows 1 or 2 arguments -->
  
  <xsl:template match="defaultcontent">
    <out>
      <xsl:apply-templates select="document()/body"/>
    </out>
  </xsl:template>
  
  <xsl:template match="body">
    <xsl:text>This should fail</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/mdocserr/mdocserr03.xml
  
  Index: mdocserr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <defaultcontent>
      <section1/>
      <section2/>
    </defaultcontent>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/mdocserr/mdocserr03.xsl
  
  Index: mdocserr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MDOCSerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.1 Multiple Source Documents -->
    <!-- Purpose: Test document() function with too many arguments. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: document() function requires 1 or 2 arguments -->
    <!-- ExpectedException: FuncDocument only allows 2 arguments -->
  
  <xsl:template match="defaultcontent">
    <out>
      <xsl:apply-templates select="document('../mdocs03a.xml','bad1','bad2')/body"/>
    </out>
  </xsl:template>
  
  <xsl:template match="body">
    <xsl:text>This should fail</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/mdocserr/mdocserr04.xml
  
  Index: mdocserr04.xml
  ===================================================================
  <?xml version="1.0" ?>
  <doc>
    <test>ERROR</test>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/mdocserr/mdocserr04.xsl
  
  Index: mdocserr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                  xmlns:ped="ped.com">
  
    <!-- FileName: MDOCSerr04 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.2  -->
    <!-- Purpose: Top-level elements must have some namespace. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: top-level element test has no namespace -->
    <!-- ExpectedException: test is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out><xsl:text>
  </xsl:text>
      <xsl:copy-of select='document("")//test'/><xsl:text>
  </xsl:text>
    </out>
  </xsl:template>
  
  <ped:test>Test1</ped:test>
  <test>Test2</test>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/messageerr/messageerr01.xml
  
  Index: messageerr01.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/messageerr/messageerr01.xsl
  
  Index: messageerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MESSAGEerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 13 Messages -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:message at top level, which is illegal. -->
    <!-- ExpectedException: xsl:message is not allowed in this position in the stylesheet -->
  
  <xsl:message terminate="no">This should not appear</xsl:message>
  
  <xsl:template match="/">
   <out>This should fail</out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/messageerr/messageerr02.xml
  
  Index: messageerr02.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/messageerr/messageerr02.xsl
  
  Index: messageerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MESSAGEerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 199911116 -->
    <!-- Section: 13 -->
    <!-- Purpose: Illegal value "duh" on terminate option -->                
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Value for terminate should equal yes or no -->
  
  <xsl:template match="/">
    <xsl:message terminate="duh">This message came from the MESSAGEerr02 test.</xsl:message>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/messageerr/messageerr03.xml
  
  Index: messageerr03.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/messageerr/messageerr03.xsl
  
  Index: messageerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: MESSAGEerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 13 -->
    <!-- Purpose: Use "yes" on terminate option, causing exception -->                
    <!-- Creator: David Marston -->
    <!-- ExpectedException: This message came from the MESSAGE03 test. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: This message came from the MESSAGE03 test. -->
  
  <xsl:template match="/">
    <xsl:message terminate="yes">This message came from the MESSAGE03 test.</xsl:message>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/a.xsl
  
  Index: a.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: a -->
    <!-- Purpose: Used by namespaceerr12 case. -->
  
  <xsl:template name="a">
    import:a
  </xsl:template>
  
  <xsl:template name="a">
    import:b
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr01.xml
  
  Index: namedtemplateerr01.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a place="above">top-level-a</a>
      <doc>
        <a place="below">sub-level-a</a>
      </doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr01.xsl
  
  Index: namedtemplateerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test what happens with badly-formed select pattern in with-param. -->
    <!-- ExpectedException: Extra illegal tokens -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name="tmplt1">
        <xsl:with-param name="pvar1" select="doc/[@place='below']"/>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="tmplt1" match="doc/doc">
    <xsl:param name="pvar1">Default text in pvar1</xsl:param>
    <xsl:value-of select="$pvar1"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr02.xml
  
  Index: namedtemplateerr02.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr02.xsl
  
  Index: namedtemplateerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.6 -->
    <!-- Purpose: Error test- parameter of outer template unknown inside inner template. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Could not find variable with the name of pvar1 -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name="tmplt1">
        <xsl:with-param name="pvar1" select="555"/>
      </xsl:call-template>
  <xsl:text>
  Back to main template.</xsl:text>
    </out>
  </xsl:template>
  
  <xsl:template name="tmplt1">
    <xsl:param name="pvar1">pvar1 default data</xsl:param>
    <!-- pvar1 won't be in scope in next template, so pass it in via new variable. -->
    <xsl:variable name="passto2">
      <xsl:value-of select="number($pvar1)"/>
    </xsl:variable>
  
    <xsl:value-of select="$passto2"/><xsl:text>, </xsl:text>
    <xsl:call-template name="tmplt2">
      <xsl:with-param name="t1num" select="$passto2"/>
    </xsl:call-template>
    <xsl:text>
  Back to template 1.</xsl:text>
  </xsl:template>
  
  <xsl:template name="tmplt2">
    <xsl:param name="t1num">t1num default data</xsl:param>
    <xsl:value-of select="444 + $t1num"/><xsl:text>, prior item should be 999, </xsl:text>
    <xsl:value-of select="222 + $pvar1"/><xsl:text>, prior item should be 777</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr03.xml
  
  Index: namedtemplateerr03.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a place="above">top-level-a</a>
      <doc>
        <a place="below">sub-level-a</a>
      </doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr03.xsl
  
  Index: namedtemplateerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 -->
    <!-- Purpose: Try to do call-template without a template of the specified name. -->
    <!-- Creator: David Marston -->
    <!-- ExpectedException: Could not find template named -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name="tmplt2">
        <xsl:with-param name="pvar1" select="doc/a"/>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="tmplt1" match="doc/doc">
    <xsl:param name="pvar1">Default text in pvar1</xsl:param>
    <xsl:value-of select="$pvar1"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr04.xml
  
  Index: namedtemplateerr04.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a place="above">top-level-a</a>
      <doc>
        <a place="below">sub-level-a</a>
      </doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr04.xsl
  
  Index: namedtemplateerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test child of call-template other than with-param. -->
    <!-- ExpectedException: Can not add #text to xsl:call-template -->
    <!-- ExpectedException: ElemTemplateElement error: Can not add #text to xsl:call-template -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: ElemTemplateElement error: Can not add #text to xsl:call-template -->
    <!-- ExpectedException: xsl:text is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name="tmplt1">
        <xsl:text>This should not come out</xsl:text>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="tmplt1">
    <xsl:param name="pvar1">Default text in pvar1</xsl:param>
    <xsl:value-of select="$pvar1"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr05.xml
  
  Index: namedtemplateerr05.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a>test</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr05.xsl
  
  Index: namedtemplateerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 Named Templates -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test param lacking name attribute. -->
    <!-- ExpectedException: XSL Error: xsl:param must have a name attribute. -->
    <!-- ExpectedException: xsl:param requires attribute: name -->
  
  <xsl:template match="doc">
    <out>
      <xsl:variable name="RTF">
        <xsl:value-of select="a"/>
      </xsl:variable>
      <xsl:call-template name="ntmp1">
        <xsl:with-param name="pvar1" select="$RTF"/>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="ntmp1">
    <xsl:param>default data</xsl:param>
    <xsl:value-of select="$pvar1"/><xsl:text>,</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr06.xml
  
  Index: namedtemplateerr06.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a place="above">top-level-a</a>
      <doc>
        <a place="below">sub-level-a</a>
      </doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr06.xsl
  
  Index: namedtemplateerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to do call-template without its name attribute. -->
    <!-- ExpectedException: xsl:call-template requires attribute: name -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template>
        <xsl:with-param name="pvar1" select="doc/a"/>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="tmplt1" match="doc/doc">
    <xsl:param name="pvar1">Default text in pvar1</xsl:param>
    <xsl:value-of select="$pvar1"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr07.xml
  
  Index: namedtemplateerr07.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a>test</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr07.xsl
  
  Index: namedtemplateerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 Named Templates -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test with-param lacking name attribute. -->
    <!-- ExpectedException: XSL Error: xsl:with-param must have a 'name' attribute. -->
    <!-- ExpectedException: xsl:with-param requires attribute: name -->
  
  <xsl:template match="doc">
    <out>
      <xsl:variable name="RTF">
        <xsl:value-of select="a"/>
      </xsl:variable>
      <xsl:call-template name="ntmp1">
        <xsl:with-param select="$RTF"/>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="ntmp1">
    <xsl:param name="pvar1">default data</xsl:param>
    <xsl:value-of select="$pvar1"/><xsl:text>,</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr08.xml
  
  Index: namedtemplateerr08.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a>test</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr08.xsl
  
  Index: namedtemplateerr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 Named Templates -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:call-template at top level, which is illegal. -->
    <!-- ExpectedException: xsl:call-template is not allowed in this position in the stylesheet -->
  
  <xsl:call-template name="ntmp1">
    <xsl:with-param name="pvar1" select="value"/>
  </xsl:call-template>
  
  <xsl:template name="ntmp1">
    <xsl:param name="pvar1">pvar1 default data</xsl:param>
    <xsl:param name="pvar2">pvar2 default data</xsl:param>
    <xsl:value-of select="$pvar1"/><xsl:text>,</xsl:text>
    <xsl:value-of select="$pvar2"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr09.xml
  
  Index: namedtemplateerr09.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a>test</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr09.xsl
  
  Index: namedtemplateerr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 Named Templates -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:with-param at top level, which is illegal. -->
    <!-- ExpectedException: xsl:with-param is not allowed in this position in the stylesheet -->
  
  <xsl:with-param select="'foo'"/>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr10.xml
  
  Index: namedtemplateerr10.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a>test</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr10.xsl
  
  Index: namedtemplateerr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 Named Templates -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:with-param in a template, which is illegal. -->
    <!-- ExpectedException: xsl:with-param must be child of xsl:apply-templates or xsl:call-template -->
    <!-- ExpectedException: xsl:with-param is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <xsl:with-param name="par1" select="'foo'"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr11.xml
  
  Index: namedtemplateerr11.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr11.xsl
  
  Index: namedtemplateerr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 Named Templates -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use an AVT for the template name when invoking. -->
    <!-- ExpectedException: Could not find template named: {$tocall} -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: Could not find template named: {$tocall} -->
  
  <xsl:template match="doc">
    <out>
      <xsl:variable name="tocall" select="'a'"/>
      <xsl:call-template name="{$tocall}"/>
    </out>
  </xsl:template>
  
  <xsl:template name="tocall">
    <xsl:text>This should NOT display!</xsl:text>
  </xsl:template>
  
  <xsl:template name="a">
    <xsl:text>We are in template a!</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr12.xml
  
  Index: namedtemplateerr12.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr12.xsl
  
  Index: namedtemplateerr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr12 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 Named Templates -->
    <!-- Purpose: Error to have a stylesheet contain more then one template
       with the same name and same import precedence. -->
    <!-- Author: Paul Dick -->
    <!-- ExpectedException: There is already a template named: a -->
    <!-- ExpectedException: Found more than one template named: a -->
  
  <xsl:import href="a.xsl"/>
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name="a"/>
  	<xsl:apply-imports/>
    </out>
  </xsl:template>
  
  <xsl:template name="a">
    a
  </xsl:template>
  
  <xsl:template name="a">
    b
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr13.xml
  
  Index: namedtemplateerr13.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a place="above">top-level-a</a>
      <doc>
        <a place="below">sub-level-a</a>
      </doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr13.xsl
  
  Index: namedtemplateerr13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr13 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to set name attribute to null string. -->
    <!-- ExpectedException: Invalid template name -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name="">
        <xsl:with-param name="pvar1" select="doc/a"/>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="tmplt1">
    <xsl:param name="pvar1">Default text in pvar1</xsl:param>
    <xsl:value-of select="$pvar1"/>
  </xsl:template>
  
  <xsl:template name="">
    <xsl:text>Empty-named template got called!</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr14.xml
  
  Index: namedtemplateerr14.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a place="above">top-level-a</a>
      <doc>
        <a place="below">sub-level-a</a>
      </doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr14.xsl
  
  Index: namedtemplateerr14.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
      xmlns:foo="http://foo.com">
  
    <!-- FileName: namedtemplateerr14 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to set local part of QName to null string. -->
    <!-- ExpectedException: Invalid template name -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name="foo:">
        <xsl:with-param name="pvar1" select="doc/a"/>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="foo:tmplt1">
    <xsl:param name="pvar1">Default text in pvar1</xsl:param>
    <xsl:value-of select="$pvar1"/>
  </xsl:template>
  
  <xsl:template name="foo:">
    <xsl:text>Empty-named template got called!</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr15.xml
  
  Index: namedtemplateerr15.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a place="above">top-level-a</a>
      <doc>
        <a place="below">sub-level-a</a>
      </doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namedtemplateerr/namedtemplateerr15.xsl
  
  Index: namedtemplateerr15.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namedtemplateerr15 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 6 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to set prefix part of QName to null string. -->
    <!-- ExpectedException: Name cannot start with a colon -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name=":tmplt1">
        <xsl:with-param name="pvar1" select="doc/a"/>
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="tmplt1">
    <xsl:param name="pvar1">Default text in pvar1</xsl:param>
    <xsl:value-of select="$pvar1"/>
  </xsl:template>
  
  <xsl:template name=":tmplt1">
    <xsl:text>Empty-prefix template got called!</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr01.xml
  
  Index: namespaceerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr01.xsl
  
  Index: namespaceerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: namespaceerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 XSLT Namespace -->
    <!-- Creator: David Marston -->
    <!-- Purpose:  It is an error for an element from XSLT namespace to have attributes
         with expanded-names that have null namespace URI's. -->
    <!-- ExpectedException: XSL Error: xsl:copy-of has an illegal attribute: -->
    <!-- ExpectedException: "test" attribute is not allowed on the xsl:copy-of element! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:copy-of select="doc" test="0"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr02.xml
  
  Index: namespaceerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <elements>
    <block>p</block>
    <block>h1</block>
    <block>h2</block>
    <block>h3</block>
    <block>h4</block>
  </elements>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr02.xsl
  
  Index: namespaceerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
   xmlns:axsl="http://www.w3.org/1999/XSL/TransAlias">
  
    <!-- FileName: namespaceerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.1 Literal Result Elements -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test missing attribute in namespace-alias. -->
    <!-- ExpectedException: xsl:namespace-alias requires attribute: result-prefix -->
  
  <xsl:namespace-alias stylesheet-prefix="axsl"/>
  
  <xsl:template match="/">
    <axsl:stylesheet>
      <xsl:apply-templates/>
    </axsl:stylesheet>
  </xsl:template>
  
  <xsl:template match="block">
    <axsl:template match="{.}">
      <axsl:apply-templates/>
    </axsl:template>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr03.xml
  
  Index: namespaceerr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <elements>
    <block>p</block>
    <block>h1</block>
    <block>h2</block>
    <block>h3</block>
    <block>h4</block>
  </elements>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr03.xsl
  
  Index: namespaceerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
   xmlns:axsl="http://www.w3.org/1999/XSL/TransAlias">
  
    <!-- FileName: namespaceerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.1 Literal Result Elements -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test missing attribute in namespace-alias. -->
    <!-- ExpectedException: xsl:namespace-alias requires attribute: stylesheet-prefix -->
  
  <xsl:namespace-alias result-prefix="xsl"/>
  
  <xsl:template match="/">
    <axsl:stylesheet>
      <xsl:apply-templates/>
    </axsl:stylesheet>
  </xsl:template>
  
  <xsl:template match="block">
    <axsl:template match="{.}">
      <axsl:apply-templates/>
    </axsl:template>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr04.xml
  
  Index: namespaceerr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <docs>
    <block>p</block>
    <block>h1</block>
    <block>h2</block>
    <block>h3</block>
    <block>h4</block>
  </docs>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr04.xsl
  
  Index: namespaceerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
  	xmlns:bogus="http://www.bogus_ns.com"
          xmlns:lotus="http://www.lotus.com"
  	xmlns:ped="www.ped.com">
  
    <!-- FileName: namespaceerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 XSLT Namespace -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose:  Testing an attribute not from the XSLT namespace, which is
         legal provided that the expanded name of the attribute has a non-null 
         namespace URI. This tests for many xslt TOP-LEVEL elements, apparent code path 
         are different for numerous elements. Should not have namespaces to inherit. -->
  
  <!-- xsl:import href="..\test1.xsl"  a="a"/ -->
  <!-- xsl:include href="..\test2.xsl" b="b"/ -->
  <xsl:output method="xml" indent="yes" ped:c="c"/>
  
  <xsl:key name="sprtest" match="TestID" use="Name" ped:d="d"/>
  
  <xsl:strip-space elements="a" ped:e="e"/>
  <xsl:preserve-space elements="b" ped:f="f"/>
  
  <xsl:variable name="Var1" ped:g="g">
  DefaultValueOfVar1
  </xsl:variable>
  
  <xsl:param name="Param1" ped:h="h">
  DefaultValueOfParam1
  </xsl:param>
  
  <xsl:attribute-set name="my-style" ped:i="i">
    <xsl:attribute name="my-size" ped:j="j">12pt</xsl:attribute>
    <xsl:attribute name="my-weight">bold</xsl:attribute>
  </xsl:attribute-set>
  
  <xsl:namespace-alias stylesheet-prefix="bogus" result-prefix="xsl" ped:k="k"/>
  <xsl:decimal-format decimal-separator="," grouping-separator=" " ped:l="l"/>
  
  <xsl:template match="docs" ped:m="m">
    <bogus:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  	<bogus:template match="/">
  	  <out>
  		Yeee ha
  		<xsl:for-each select="block" ped:n="n">
  			<xsl:if test=" .='p'" ped:o="o">
  				Whoopie
  			</xsl:if>
  			<xsl:value-of select="." ped:p="p"/>
  		</xsl:for-each>
        </out>
  	</bogus:template>
    </bogus:stylesheet>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr05.xml
  
  Index: namespaceerr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <elements>
    <block>p</block>
  </elements>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr05.xsl
  
  Index: namespaceerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
   xmlns:axsl="http://www.w3.org/1999/XSL/TransAlias">
  
    <!-- FileName: namespaceerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.1 Literal Result Elements -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test placement of namespace-alias inside a template, which is illegal. -->
    <!-- ExpectedException: Must put xsl:namespace-alias outside any template. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: Must put xsl:namespace-alias outside any template. -->
    <!-- ExpectedException: xsl:namespace-alias is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="/">
    <out>
      <xsl:namespace-alias stylesheet-prefix="axsl" result-prefix="xsl"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr06.xml
  
  Index: namespaceerr06.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc xmlns="http://xsl.lotus.com/ns2" xmlns:ns1="http://xsl.lotus.com/ns1">
    <ns1:a attrib1="test" xmlns="http://xsl.lotus.com/ns2" xmlns:ns1="http://xsl.lotus.com/ns1"/>
    <b ns1:attrib2="test"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr06.xsl
  
  Index: namespaceerr06.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                  xmlns:baz1="http://xsl.lotus.com/ns1"
                  xmlns:baz2="http://xsl.lotus.com/ns2">
  
    <!-- FileName: namespaceerr06 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 Node Set Functions. -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'local-name()' with too many arguments. -->
    <!-- ExpectedException: local-name() has too many arguments. -->
    <!-- ExpectedException: FuncLocalPart only allows 1 arguments -->
  
  <xsl:template match="baz2:doc">
    <out>
      <xsl:value-of select="local-name(baz2:b,..)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr07.xml
  
  Index: namespaceerr07.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc xmlns="http://xsl.lotus.com/ns2" xmlns:ns1="http://xsl.lotus.com/ns1">
  <ns1:a attrib1="test" xmlns="http://xsl.lotus.com/ns2" xmlns:ns1="http://xsl.lotus.com/ns1"/>
  <b ns1:attrib2="test"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr07.xsl
  
  Index: namespaceerr07.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                  xmlns:baz1="http://xsl.lotus.com/ns1"
                  xmlns:baz2="http://xsl.lotus.com/ns2">
  
    <!-- FileName: namespaceerr07 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 Node Set Functions. -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'namespace-uri()' with too many arguments. -->
    <!-- ExpectedException: namespace-uri() has too many arguments. -->
    <!-- ExpectedException: FuncNamespace only allows 1 arguments --><!-- Note: why isn't the error about FuncNamespaceURI? -sc -->
  
  <xsl:template match="baz2:doc">
    <out>
      <xsl:value-of select="namespace-uri(baz2:b,..)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr08.xml
  
  Index: namespaceerr08.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc xmlns="http://xsl.lotus.com/ns2" xmlns:ns1="http://xsl.lotus.com/ns1">
  <ns1:a attrib1="test" xmlns="http://xsl.lotus.com/ns2" xmlns:ns1="http://xsl.lotus.com/ns1"/>
  <b ns1:attrib2="test"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr08.xsl
  
  Index: namespaceerr08.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                  xmlns:baz1="http://xsl.lotus.com/ns1"
                  xmlns:baz2="http://xsl.lotus.com/ns2">
  
    <!-- FileName: namespaceerr08 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 Node Set Functions -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'name()' with too many arguments. -->
    <!-- ExpectedException: name only allows 1 argument -->
  
  <xsl:template match="baz2:doc">
    <out>
      <xsl:value-of select="name(a,b)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr09.xml
  
  Index: namespaceerr09.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc xmlns:xem="http://www.psol.com/xtension/1.0">
    <foo>xyz</foo>
    <xem:foo>found</xem:foo>
    <foo>zyx</foo>
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr09.xsl
  
  Index: namespaceerr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
     xmlns:em="http://www.psol.com/xtension/1.0">
  
    <!-- FileName: namespaceerr09 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for meaningful message when expression begins with : (has null namespace) -->
    <!-- ExpectedException: Extra illegal tokens: 'foo' -->
  
  <xsl:template match = "doc">
    <out>
      <xsl:for-each select=":foo">
        <xsl:value-of select="."/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr10.xml
  
  Index: namespaceerr10.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc xmlns:xem="http://www.psol.com/xtension/1.0"
     xmlns:l="http://xsl.lotus.com"/>
    <foo>xyz</foo>
    <xem:foo>found</xem:foo>
    <l:foo>zyx</foo>
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/namespaceerr/namespaceerr10.xsl
  
  Index: namespaceerr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
     xmlns:em="http://www.psol.com/xtension/1.0">
  
    <!-- FileName: NSPCerr10 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for meaningful message when attempting to use namespace wildcard (*) -->
    <!-- ExpectedException: XSLT: ElemTemplateElement error: Can not resolve namespace prefix: -->
    <!-- ExpectedException: Prefix must resolve to a namespace: -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="*:foo">
    <in>
      <xsl:value-of select="."/>
    </in>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr01.xml
  
  Index: numberformaterr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr01.xsl
  
  Index: numberformaterr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test repeat declaration of decimal-format, un-named. -->
    <!-- ExpectedException: Only one default xsl:decimal-format declaration is allowed. -->
  
  <xsl:decimal-format NaN="non-numeric" />
  
  <xsl:decimal-format NaN="wrong-number" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('foo','#############')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr02.xml
  
  Index: numberformaterr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr02.xsl
  
  Index: numberformaterr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test repeat declaration of decimal-format, named the same, but different settings. -->
    <!-- ExpectedException: xsl:decimal-format names must be unique. -->
  
  <xsl:decimal-format name="myminus" minus-sign='_' />
  
  <xsl:decimal-format name="myminus" minus-sign='`' />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(-26931.4,'###,###.###','myminus')"/>
      <xsl:text>  </xsl:text>
      <xsl:value-of select="format-number(-42857.1,'###,###.###')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr03.xml
  
  Index: numberformaterr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr03.xsl
  
  Index: numberformaterr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Attempt to put a child on decimal-format. -->
    <!-- ExpectedException: xsl:text not allowed inside xsl:decimal-format -->
    <!-- ExpectedException: xsl:text is not allowed in this position in the stylesheet! -->
  
  <xsl:decimal-format NaN="non-numeric">
    <xsl:text>This should not appear!</xsl:text>
  </xsl:decimal-format>
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('foo','#############')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr04.xml
  
  Index: numberformaterr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr04.xsl
  
  Index: numberformaterr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test illegal attribute on decimal-format. -->
    <!-- ExpectedException: Invalid attribute on xsl:decimal-format. -->
    <!-- ExpectedException: "badattr" attribute is not allowed on the xsl:decimal-format element! -->
  
  <xsl:decimal-format NaN="non-numeric" badattr="bad" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('foo','#############')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr05.xml
  
  Index: numberformaterr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr05.xsl
  
  Index: numberformaterr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set one-character attribute grouping-separator too large in decimal-format. -->
    <!-- ExpectedException: An XSLT attribute of type T_CHAR must be only 1 character -->
  
  <xsl:decimal-format grouping-separator="toobig" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('7654321','#############')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr06.xml
  
  Index: numberformaterr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr06.xsl
  
  Index: numberformaterr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Show what happens if there are any filler digits (#) between
         zero-digits and the decimal-separator on the left. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: 00,000,###.000### -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(4030201.050607,'00,000,###.000###')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr07.xml
  
  Index: numberformaterr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr07.xsl
  
  Index: numberformaterr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Show what happens if there are any filler digits (#) between
         zero-digits and the decimal-separator on the right. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ##,000,000.###000 -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(4030201.050607,'##,000,000.###000')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr08.xml
  
  Index: numberformaterr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr08.xsl
  
  Index: numberformaterr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Show what happens if there are any filler digits (#) between
         zero-digits and the decimal-separator. Change both characters. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: #aa,aaa,!!!.!!!aaa0 -->
  
  <xsl:decimal-format digit="!" zero-digit="a" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(4030201.050607,'#aa,aaa,!!!.!!!aaa0')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr09.xml
  
  Index: numberformaterr09.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr09.xsl
  
  Index: numberformaterr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of two occurrences of the decimal-separator. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ##,000.000.0000 -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(1886.201,'##,000.000.0000')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr10.xml
  
  Index: numberformaterr10.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr10.xsl
  
  Index: numberformaterr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of grouping-separator after the decimal-separator. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: 0.000,###,###,### -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(1.0123456789,'0.000,###,###,###')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr11.xml
  
  Index: numberformaterr11.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr11.xsl
  
  Index: numberformaterr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set one-character attribute decimal-separator too large in decimal-format. -->
    <!-- ExpectedException: An XSLT attribute of type T_CHAR must be only 1 character -->
  
  <xsl:decimal-format decimal-separator="toobig" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('7654.321','#############')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr12.xml
  
  Index: numberformaterr12.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr12.xsl
  
  Index: numberformaterr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr12 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set one-character attribute percent too large in decimal-format. -->
    <!-- ExpectedException: An XSLT attribute of type T_CHAR must be only 1 character -->
  
  <xsl:decimal-format percent="toobig" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('54.321','####.####toobig')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr13.xml
  
  Index: numberformaterr13.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr13.xsl
  
  Index: numberformaterr13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr13 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set one-character attribute per-mille too large in decimal-format. -->
    <!-- ExpectedException: An XSLT attribute of type T_CHAR must be only 1 character -->
  
  <xsl:decimal-format per-mille="toobig" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('54.321','####.####toobig')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr14.xml
  
  Index: numberformaterr14.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr14.xsl
  
  Index: numberformaterr14.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr14 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set one-character attribute zero-digit too large in decimal-format. -->
    <!-- ExpectedException: An XSLT attribute of type T_CHAR must be only 1 character -->
  
  <xsl:decimal-format zero-digit="toobig" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('54321','#############')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr15.xml
  
  Index: numberformaterr15.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr15.xsl
  
  Index: numberformaterr15.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr15 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set one-character attribute digit too large in decimal-format. -->
    <!-- ExpectedException: An XSLT attribute of type T_CHAR must be only 1 character -->
  
  <xsl:decimal-format digit="toobig" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('32.1','toobig0.00')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr16.xml
  
  Index: numberformaterr16.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr16.xsl
  
  Index: numberformaterr16.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr16 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set one-character attribute pattern-separator too large in decimal-format. -->
    <!-- ExpectedException: An XSLT attribute of type T_CHAR must be only 1 character -->
  
  <xsl:decimal-format pattern-separator="toobig" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('-54321','000000toobig-######')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr17.xml
  
  Index: numberformaterr17.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr17.xsl
  
  Index: numberformaterr17.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Set one-character attribute minus-sign too large in decimal-format. -->
    <!-- ExpectedException: An XSLT attribute of type T_CHAR must be only 1 character -->
  
  <xsl:decimal-format minus-sign="toobig" />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('-7654321','#############')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr18.xml
  
  Index: numberformaterr18.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr18.xsl
  
  Index: numberformaterr18.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr18 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Show what happens if there are any literal characters between
         two groups of filler digits (#). -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ######zip###### -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(90232.0884,'######zip######')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr19.xml
  
  Index: numberformaterr19.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr19.xsl
  
  Index: numberformaterr19.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr19 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Show what happens if there are any literal characters between
         two groups of zero digits. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: 000000zip000000 -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(90232.0884,'000000zip000000')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr20.xml
  
  Index: numberformaterr20.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr20.xsl
  
  Index: numberformaterr20.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr20 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put grouping separator adjacent to decimal-separator. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ######,.00 -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(90232.0884,'######,.00')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr21.xml
  
  Index: numberformaterr21.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr21.xsl
  
  Index: numberformaterr21.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr21 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put grouping separator adjacent to percent. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ######,% -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(32.0884,'######,%')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr22.xml
  
  Index: numberformaterr22.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr22.xsl
  
  Index: numberformaterr22.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr22 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put grouping separator adjacent to per-mille character. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ######, -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(90232.0884,'######,&#8240;')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr23.xml
  
  Index: numberformaterr23.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr23.xsl
  
  Index: numberformaterr23.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr23 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put grouping separator adjacent to pattern-separator. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ######,;000,000 -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(-90232,'######,;000,000')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr24.xml
  
  Index: numberformaterr24.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr24.xsl
  
  Index: numberformaterr24.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr24 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of percent in middle of format string. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ###%###.## -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('54.321','###%###.##')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr25.xml
  
  Index: numberformaterr25.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr25.xsl
  
  Index: numberformaterr25.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr25 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of per-mille in middle of format string. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ###&#8240;###.## --><!-- Note comparison may not work with entity value here -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('54.321','###&#8240;###.##')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr26.xml
  
  Index: numberformaterr26.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr26.xsl
  
  Index: numberformaterr26.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr26 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of more than two patterns. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: +##,###.000;-##,###.###;x##,###.### -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(-26931.4,'+##,###.000;-##,###.###;x##,###.###')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr27.xml
  
  Index: numberformaterr27.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr27.xsl
  
  Index: numberformaterr27.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr27 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of both percent and per-mille in format string. -->
    <!-- ExpectedException: java.lang.RuntimeException: Malformed format string -->
    <!-- ExpectedException: Malformed format string: ######.##% -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number('54.321','######.##%&#8240;')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr28.xml
  
  Index: numberformaterr28.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr28.xsl
  
  Index: numberformaterr28.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr28 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of format-number with too few arguments. -->
    <!-- ExpectedException: format-number() must have at least 2 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(2392.14*36.58)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr29.xml
  
  Index: numberformaterr29.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr29.xsl
  
  Index: numberformaterr29.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr29 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of format-number with too many arguments. -->
    <!-- ExpectedException: format-number() must have at most 3 arguments -->
  
  <xsl:decimal-format name="myminus" minus-sign='_' />
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="format-number(-2392.14*36.58,'#####0.000###','myminus',3407)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr30.xml
  
  Index: numberformaterr30.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberformaterr/numberformaterr30.xsl
  
  Index: numberformaterr30.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: NUMBERFORMATerr30 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.3 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test placement of decimal-format inside atemplate, which is illegal. -->
    <!-- ExpectedException: Must put xsl:decimal-format outside any template. -->
    <!-- ExpectedException: xsl:decimal-format is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:decimal-format NaN="non-numeric"/>
      <xsl:value-of select="format-number('foo','#############')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr01.xml
  
  Index: numberingerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <chapter>
      <note>aaa</note>
      <note>bbb</note>
      <note>ccc</note>
    </chapter>
    <chapter>
      <note>aaa</note>
      <note>bbb</note>
      <note>ccc</note>
      <note>ddd</note>
      <note>eee</note>
      <note>fff</note>
      <note>ggg</note>
      <note>hhh</note>
      <note>iii</note>
      <note>jjj</note>
      <note>kkk</note>
      <note>lll</note>
      <note>mmm</note>
      <note>nnn</note>
      <note>ooo</note>
      <note>ppp</note>
      <note>qqq</note>
      <note>rrr</note>
      <note>sss</note>
      <note>ttt</note>
      <note>uuu</note>
      <note>vvv</note>
      <note>www</note>
      <note>xxx</note>
      <note>yyy</note>
      <note>aab</note>
      <note>bbb</note>
      <note>ccb</note>
      <note>ddb</note>
      <note>eeb</note>
      <note>ffb</note>
      <note>ggb</note>
      <note>hhb</note>
      <note>iib</note>
      <note>jjb</note>
      <note>kkb</note>
      <note>llb</note>
      <note>mmb</note>
      <note>nnb</note>
      <note>oob</note>
      <note>ppb</note>
      <note>qqb</note>
      <note>rrb</note>
      <note>ssb</note>
      <note>ttb</note>
      <note>uub</note>
      <note>vvb</note>
      <note>wwb</note>
      <note>xxb</note>
      <note>yyb</note>
      <note>aac</note>
      <note>bbc</note>
      <note>ccc</note>
      <note>ddc</note>
      <note>eec</note>
      <note>ffc</note>
      <note>ggc</note>
      <note>hhc</note>
      <note>iic</note>
      <note>jjc</note>
      <note>kkc</note>
      <note>llc</note>
      <note>mmc</note>
      <note>nnc</note>
      <note>ooc</note>
      <note>ppc</note>
      <note>qqc</note>
      <note>rrc</note>
      <note>ssc</note>
      <note>ttc</note>
      <note>uuc</note>
      <note>vvc</note>
      <note>wwc</note>
      <note>xxc</note>
      <note>yyc</note>
      <note>aad</note>
      <note>bbd</note>
      <note>ccd</note>
      <note>ddd</note>
      <note>eed</note>
      <note>ffd</note>
      <note>ggd</note>
      <note>hhd</note>
      <note>iid</note>
      <note>jjd</note>
      <note>kkd</note>
      <note>lld</note>
      <note>mmd</note>
      <note>nnd</note>
      <note>ood</note>
      <note>ppd</note>
      <note>qqd</note>
      <note>rrd</note>
      <note>ssd</note>
      <note>ttd</note>
      <note>uud</note>
      <note>vvd</note>
      <note>wwd</note>
      <note>xxd</note>
      <note>yyd</note>
      <note>aae</note>
      <note>bbe</note>
      <note>cce</note>
      <note>dde</note>
      <note>eee</note>
      <note>ffe</note>
      <note>gge</note>
      <note>hhe</note>
      <note>iie</note>
      <note>jje</note>
      <note>kke</note>
      <note>lle</note>
      <note>mme</note>
      <note>nne</note>
      <note>ooe</note>
      <note>ppe</note>
      <note>qqe</note>
      <note>rre</note>
      <note>sse</note>
      <note>tte</note>
      <note>uue</note>
      <note>vve</note>
      <note>wwe</note>
      <note>xxe</note>
      <note>yye</note>
      <note>aaf</note>
      <note>bbf</note>
      <note>ccf</note>
      <note>ddf</note>
      <note>eef</note>
      <note>fff</note>
      <note>ggf</note>
      <note>hhf</note>
      <note>iif</note>
      <note>jjf</note>
      <note>kkf</note>
      <note>llf</note>
      <note>mmf</note>
      <note>nnf</note>
      <note>oof</note>
      <note>ppf</note>
      <note>qqf</note>
      <note>rrf</note>
      <note>ssf</note>
      <note>ttf</note>
      <note>uuf</note>
      <note>vvf</note>
      <note>wwf</note>
      <note>xxf</note>
      <note>yyf</note>
      <note>aag</note>
      <note>bbg</note>
      <note>ccg</note>
      <note>ddg</note>
      <note>eeg</note>
      <note>ffg</note>
      <note>ggg</note>
      <note>hhg</note>
      <note>iig</note>
      <note>jjg</note>
      <note>kkg</note>
      <note>llg</note>
      <note>mmg</note>
      <note>nng</note>
      <note>oog</note>
      <note>ppg</note>
      <note>qqg</note>
      <note>rrg</note>
      <note>ssg</note>
      <note>ttg</note>
      <note>uug</note>
      <note>vvg</note>
      <note>wwg</note>
      <note>xxg</note>
      <note>yyg</note>
      <note>aah</note>
      <note>bbh</note>
      <note>cch</note>
      <note>ddh</note>
      <note>eeh</note>
      <note>ffh</note>
      <note>ggh</note>
      <note>hhh</note>
      <note>iih</note>
      <note>jjh</note>
      <note>kkh</note>
      <note>llh</note>
      <note>mmh</note>
      <note>nnh</note>
      <note>ooh</note>
      <note>pph</note>
      <note>qqh</note>
      <note>rrh</note>
      <note>ssh</note>
      <note>tth</note>
      <note>uuh</note>
      <note>vvh</note>
      <note>wwh</note>
      <note>xxh</note>
      <note>yyh</note>
      <note>aai</note>
      <note>bbi</note>
      <note>cci</note>
      <note>ddi</note>
      <note>eei</note>
      <note>ffi</note>
      <note>ggi</note>
      <note>hhi</note>
      <note>iii</note>
      <note>jji</note>
      <note>kki</note>
      <note>lli</note>
      <note>mmi</note>
      <note>nni</note>
      <note>ooi</note>
      <note>ppi</note>
      <note>qqi</note>
      <note>rri</note>
      <note>ssi</note>
      <note>tti</note>
      <note>uui</note>
      <note>vvi</note>
      <note>wwi</note>
      <note>xxi</note>
      <note>yyi</note>
      <note>aaj</note>
      <note>bbj</note>
      <note>ccj</note>
      <note>ddj</note>
      <note>eej</note>
      <note>ffj</note>
      <note>ggj</note>
      <note>hhj</note>
      <note>iij</note>
      <note>jjj</note>
      <note>kkj</note>
      <note>llj</note>
      <note>mmj</note>
      <note>nnj</note>
      <note>ooj</note>
      <note>ppj</note>
      <note>qqj</note>
      <note>rrj</note>
      <note>ssj</note>
      <note>ttj</note>
      <note>uuj</note>
      <note>vvj</note>
      <note>wwj</note>
      <note>xxj</note>
      <note>yyj</note>
      <note>aak</note>
      <note>bbk</note>
      <note>cck</note>
      <note>ddk</note>
      <note>eek</note>
      <note>ffk</note>
      <note>ggk</note>
      <note>hhk</note>
      <note>iik</note>
      <note>jjk</note>
      <note>kkk</note>
      <note>llk</note>
      <note>mmk</note>
      <note>nnk</note>
      <note>ook</note>
      <note>ppk</note>
      <note>qqk</note>
      <note>rrk</note>
      <note>ssk</note>
      <note>ttk</note>
      <note>uuk</note>
      <note>vvk</note>
      <note>wwk</note>
      <note>xxk</note>
      <note>yyk</note>
      <note>aal</note>
      <note>bbl</note>
      <note>ccl</note>
      <note>ddl</note>
      <note>eel</note>
      <note>ffl</note>
      <note>ggl</note>
      <note>hhl</note>
      <note>iil</note>
      <note>jjl</note>
      <note>kkl</note>
      <note>lll</note>
      <note>mml</note>
      <note>nnl</note>
      <note>ool</note>
      <note>ppl</note>
      <note>qql</note>
      <note>rrl</note>
      <note>ssl</note>
      <note>ttl</note>
      <note>uul</note>
      <note>vvl</note>
      <note>wwl</note>
      <note>xxl</note>
      <note>yyl</note>
      <note>aam</note>
      <note>bbm</note>
      <note>ccm</note>
      <note>ddm</note>
      <note>eem</note>
      <note>ffm</note>
      <note>ggm</note>
      <note>hhm</note>
      <note>iim</note>
      <note>jjm</note>
      <note>kkm</note>
      <note>llm</note>
      <note>mmm</note>
      <note>nnm</note>
      <note>oom</note>
      <note>ppm</note>
      <note>qqm</note>
      <note>rrm</note>
      <note>ssm</note>
      <note>ttm</note>
      <note>uum</note>
      <note>vvm</note>
      <note>wwm</note>
      <note>xxm</note>
      <note>yym</note>
    </chapter>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr01.xsl
  
  Index: numberingerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- CaseName: numberingerr01 -->
    <!-- Author: David Marston -->
    <!-- Purpose: Test of excessive size of grouping-separator. -->
    <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(convert)/p[6]/text()[1]" -->
    <!-- Scenario: operation="message" StandardError="grouping-separator must be one character long." -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="note">
    <xsl:number level="any" from="chapter" format="(1) " grouping-size="2" grouping-separator="toobig" />
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr02.xml
  
  Index: numberingerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <chapter>
      <note>aaa</note>
      <note>bbb</note>
      <note>ccc</note>
    </chapter>
    <chapter>
      <note>ddd</note>
      <note>eee</note>
      <note>fff</note>
    </chapter>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr02.xsl
  
  Index: numberingerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- CaseName: numberingerr02 -->
    <!-- Author: David Marston -->
    <!-- Purpose: Test of bad value for level attribute. -->
    <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(number)/ulist[1]/item[1]/p[1]/text()[1]" -->
    <!-- Scenario: operation="message" StandardError="Bad value on level attribute: sides" -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="note">
    <xsl:number level="sides" from="chapter" format="(1) "/>
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr03.xml
  
  Index: numberingerr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <chapter>
      <note>aaa</note>
      <note>bbb</note>
      <note>ccc</note>
      <note>ddd</note>
      <note>eee</note>
      <note>fff</note>
      <note>ggg</note>
      <note>hhh</note>
      <note>iii</note>
      <note>jjj</note>
      <note>kkk</note>
      <note>lll</note>
      <note>mmm</note>
      <note>nnn</note>
      <note>ooo</note>
      <note>ppp</note>
      <note>qqq</note>
      <note>rrr</note>
      <note>sss</note>
      <note>ttt</note>
      <note>uuu</note>
    </chapter>
    <chapter>
      <note>ddd</note>
      <note>eee</note>
      <note>fff</note>
    </chapter>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr03.xsl
  
  Index: numberingerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- CaseName: numberingerr03 -->
    <!-- Author: David Marston -->
    <!-- Purpose: Test of bad specification for letter-value. -->
    <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(convert)/p[5]/text()[1]" -->
    <!-- Scenario: operation="message" StandardError="Bad value on letter-value attribute" -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="note">
    <xsl:number level="any" from="chapter" format="&#x03b1;" letter-value="invalid"/>
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr04.xml
  
  Index: numberingerr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <note>aaa</note>
    <note>bbb</note>
    <note>ccc</note>
    <chapter>
      <note>ddd</note>
      <note>eee</note>
      <note>fff</note>
    </chapter>
    <note>ggg</note>
    <note>hhh</note>
    <note>iii</note>
    <chapter>
      <note>jjj</note>
      <note>kkk</note>
      <note>lll</note>
    </chapter>
    <note>mmm</note>
    <note>nnn</note>
    <note>ooo</note>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr04.xsl
  
  Index: numberingerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- CaseName: numberingerr04 -->
    <!-- Author: David Marston -->
    <!-- Purpose: Test invalid path specified in from. -->
    <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(number)/ulist[1]/item[3]/p[1]/text()[1]" -->
    <!-- Scenario: operation="message" StandardError="from attribute must be a node-set" -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="note">
    <xsl:number level="single" from="true()" format="(1) "/>
    <xsl:apply-templates/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr05.xml
  
  Index: numberingerr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <title>Test for source tree numbering</title>
    <a>
      <title>Level A</title>
      <b>
        <title>Level B</title>
      </b>
      <b>
        <title>Level B</title>
        <c>
          <title>Level C</title>
        </c>
      </b>
      <b>
        <title>Level B</title>
        <c>
          <title>Level C</title>
          <d>
            <title>Level D</title>
          </d>
        </c>
      </b>
    </a>
    <a>
      <title>Level A</title>
      <b>
        <title>Level B</title>
        <c>
          <title>Level C</title>
          <d>
            <title>Level D</title>
            <e>
              <title>Level E</title>
            </e>
          </d>
        </c>
      </b>
    </a>
    <a>
      <title>Level A</title>
      <b>
        <title>Level B</title>
        <c>
          <title>Level C</title>
          <d>
            <title>Level D</title>
            <e>
              <title>Level E</title>
            </e>
          </d>
          <d>
            <title>Level D</title>
            <e>
              <title>Level E</title>
            </e>
          </d>
        </c>
        <c>
          <title>Level C</title>
          <d>
            <title>Level D</title>
          </d>
        </c>
      </b>
      <b>
        <title>Level B</title>
      </b>
    </a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr05.xsl
  
  Index: numberingerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- CaseName: numberingerr05 -->
    <!-- Author: David Marston -->
    <!-- Purpose: Test invalid path specified in count. -->
    <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(number)/ulist[1]/item[2]/p[1]/text()[1]" -->
    <!-- Scenario: operation="message" StandardError="count attribute must be a node-set" -->
  
  <xsl:template match="doc">
    <out><xsl:apply-templates/></out>
  </xsl:template>
  
  <xsl:template match="title">
    <xsl:number level="any" count="true()" format="1"/><xsl:text>: </xsl:text><xsl:value-of select="."/><xsl:text>
  </xsl:text>
  </xsl:template>
  
  <xsl:template match="text()"><!-- To suppress empty lines --><xsl:apply-templates/></xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr06.xml
  
  Index: numberingerr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <chapter>
      <note>aaa</note>
      <note>bbb</note>
      <note>ccc</note>
      <note>ddd</note>
      <note>eee</note>
      <note>fff</note>
      <note>ggg</note>
      <note>hhh</note>
      <note>iii</note>
      <note>jjj</note>
      <note>kkk</note>
      <note>lll</note>
      <note>mmm</note>
      <note>nnn</note>
      <note>ooo</note>
      <note>ppp</note>
      <note>qqq</note>
      <note>rrr</note>
      <note>sss</note>
      <note>ttt</note>
      <note>uuu</note>
      <note>vvv</note>
      <note>www</note>
      <note>xxx</note>
      <note>yyy</note>
    </chapter>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr06.xsl
  
  Index: numberingerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- CaseName: numberingerr06 -->
    <!-- Author: David Marston -->
    <!-- Purpose: Test of attempt to express negative numbers in Roman numerals. -->
    <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(convert)/ulist[1]/item[5]/p[1]/text()[1]" -->
    <!-- Scenario: operation="message" StandardError="I and i can only format positive numbers" -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="chapter">
    <xsl:for-each select="note">
      <xsl:number format="(I) " value="position() -10" />
      <xsl:value-of select="."/><xsl:text>&#10;</xsl:text>
    </xsl:for-each>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr07.xml
  
  Index: numberingerr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <ol>
      <item>aaa</item>
      <item>bbb</item>
      <item>ccc</item>
      <item>ddd</item>
    </ol>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/numberingerr/numberingerr07.xsl
  
  Index: numberingerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- CaseName: numberingerr07 -->
    <!-- Author: David Marston -->
    <!-- Purpose: Put xsl:number at top level, which is illegal. -->
    <!-- SpecCitation: Rec="XSLT" Version="1.0" type="OASISptr1" place="id(stylesheet-element)/p[3]/text()[1]" -->
    <!-- Scenario: operation="message" StandardError="xsl:number not allowed inside a stylesheet" -->
  
  <xsl:number count="item" from="ol"/>
  
  <xsl:template match="doc">
    <out>This should fail</out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr01.xml
  
  Index: outputerr01.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr01.xsl
  
  Index: outputerr01.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
  
    <!-- FileName: outperr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.6.1 Generating Text with xsl:value -->
    <!-- Purpose: Test error reporting for missing required select attribute. -->
    <!-- ExpectedException: xsl:value-of requires a select attribute. -->
    <!-- ExpectedException: xsl:value-of requires attribute: select -->
  
  <xsl:template match="/">
  	<xsl:value-of/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr02.xml
  
  Index: outputerr02.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr02.xsl
  
  Index: outputerr02.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="html" 
              doctype-public="-//W3C//DTD HTML 4.0 Transitional"/>
  
    <!-- FileName: OUTPerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.3 Creating Processing Instructions -->
    <!-- Purpose: Try to create processing instruction without a name. -->
    <!-- ExpectedException: xsl:processing-instruction must have a name attribute. -->
    <!-- ExpectedException: xsl:processing-instruction requires attribute: name -->
  
  <xsl:template match="/">
   <HTML>
     <xsl:processing-instruction>href="book.css" type="text/css"</xsl:processing-instruction>
   </HTML>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr03.xml
  
  Index: outputerr03.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr03.xsl
  
  Index: outputerr03.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="html" 
              doctype-public="-//W3C//DTD HTML 4.0 Transitional"/>
  
    <!-- FileName: OUTPerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.3 Creating Processing Instructions -->
    <!-- Purpose: Try to create processing instruction with "xml" as name. -->
    <!-- ExpectedException: processing-instruction name can not be 'xml' -->
  
  <xsl:template match="/">
   <HTML>
     <xsl:processing-instruction name="xml">href="book.css" type="text/css"</xsl:processing-instruction>
   </HTML>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr04.xml
  
  Index: outputerr04.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr04.xsl
  
  Index: outputerr04.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="html" 
              doctype-public="-//W3C//DTD HTML 4.0 Transitional"/>
  
    <!-- FileName: OUTPerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.3 Creating Processing Instructions -->
    <!-- Purpose: Try to create processing instruction with an improper name. -->
    <!-- ExpectedException: java.lang.RuntimeException: processing-instruction name must be a valid NCName -->
    <!-- ExpectedException: processing-instruction name must be a valid NCName: + -->
  
  <xsl:template match="/">
   <HTML>
     <xsl:processing-instruction name="+">href="book.css" type="text/css"</xsl:processing-instruction>
   </HTML>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr05.xml
  
  Index: outputerr05.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr05.xsl
  
  Index: outputerr05.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: OUTPerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.3 Creating Processing Instructions -->
    <!-- Purpose: Put processing-instruction at top level, which is illegal. -->
    <!-- ExpectedException: xsl:processing-instruction is not allowed in this position in the stylesheet -->
    
  <xsl:processing-instruction name="my-pi">href="book.css" type="text/css"</xsl:processing-instruction>
  
  <xsl:template match="/">
   <out>This should fail</out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr06.xml
  
  Index: outputerr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr06.xsl
  
  Index: outputerr06.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
  
    <!-- FileName: OUTPerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.2 Creating Text -->
    <!-- Purpose: Test for bad child in xsl:text -->
    <!-- ExpectedException: Can not add xsl:value-of to xsl:text -->
    <!-- ExpectedException: ElemTemplateElement error: Can not add xsl:value-of to xsl:text -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: ElemTemplateElement error: Can not add xsl:value-of to xsl:text -->
    <!-- ExpectedException: xsl:value-of is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="/">
    <HTML>
      <BODY>
        <xsl:text disable-output-escaping="yes"><xsl:value-of select="2 + 2"/></xsl:text>
      </BODY>
    </HTML>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr07.xml
  
  Index: outputerr07.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr07.xsl
  
  Index: outputerr07.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: OUTPerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.3 Creating Attributes -->
    <!-- Purpose: Put attribute at top level, which is illegal. -->
    <!-- ExpectedException: xsl:attribute is not allowed in this position in the stylesheet -->
  
  <xsl:attribute name="badattr">foo</xsl:attribute>
  
  <xsl:template match="/">
   <out>This should fail</out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr08.xml
  
  Index: outputerr08.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr08.xsl
  
  Index: outputerr08.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: OUTPerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.4 Creating Comments -->
    <!-- Purpose: Put comment at top level, which is illegal. -->
    <!-- ExpectedException: xsl:comment is not allowed in this position in the stylesheet -->
  
  <xsl:comment>boo</xsl:comment>
  
  <xsl:template match="/">
   <out>This should fail</out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr09.xml
  
  Index: outputerr09.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr09.xsl
  
  Index: outputerr09.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: OUTPerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.1.2 Creating Elements -->
    <!-- Purpose: Put element at top level, which is illegal. -->
    <!-- ExpectedException: xsl:element is not allowed in this position in the stylesheet -->
  
  <xsl:element name="elk">foo</xsl:element>
  
  <xsl:template match="/">
   <out>This should fail</out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr10.xml
  
  Index: outputerr10.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr10.xsl
  
  Index: outputerr10.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: OUTPerr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.2 Creating Text -->
    <!-- Purpose: Put xsl:text at top level, which is illegal. -->
    <!-- ExpectedException: xsl:text is not allowed in this position in the stylesheet -->
  
  <xsl:text>boo</xsl:text>
  
  <xsl:template match="/">
   <out>This should fail</out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr11.xml
  
  Index: outputerr11.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr11.xsl
  
  Index: outputerr11.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: OUTPerr11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.6.1 Generating Text -->
    <!-- Purpose: Put value-of at top level, which is illegal. -->
    <!-- ExpectedException: xsl:value-of is not allowed in this position in the stylesheet -->
  
  <xsl:value-of select="concat('f','o','o')"/>
  
  <xsl:template match="/">
   <out>This should fail</out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr12.xml
  
  Index: outputerr12.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr12.xsl
  
  Index: outputerr12.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: outperr12 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 16 -->
    <!-- Purpose: Test placement of xsl:output inside atemplate, which is illegal. -->
    <!-- ExpectedException: Must put xsl:output outside any template. -->
    <!-- ExpectedException: xsl:output is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="/">
    <xsl:output method="html"/>
    <HTML>
    </HTML>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr13.xml
  
  Index: outputerr13.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <tag>Hello</tag>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr13.xsl
  
  Index: outputerr13.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: outperr13 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 7.3 Creating Processing Instructions. -->
    <!-- Purpose: Processing instruction content can't create nodes other then 
         text nodes. -->
    <!-- ExpectedException: Can not add xsl:element to xsl:processing-instruction -->
    <!-- ExpectedException: xsl:element is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc/tag">
   <out>
     <xsl:processing-instruction name="mytag">
  	  <xsl:element name="trythis">
  		<xsl:value-of select="."/>
  	  </xsl:element>
     </xsl:processing-instruction>
   </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr14.xml
  
  Index: outputerr14.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <dat>two</dat>
    <dat>222</dat>
    <dat>&#xa9;2000</dat>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/outputerr/outputerr14.xsl
  
  Index: outputerr14.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: OUTPerr14 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 16.3 Text Output Method -->
    <!-- Purpose: Attempt text output of characters above 127 when encoding doesn't support them. -->
    <!-- "If the result tree contains a character that cannot be represented in the encoding
         that the XSLT processor is using for output, the XSLT processor should signal an error." -->
    <!-- ExpectedException: Attempt to output character not represented in specified encoding. -->
  
  <xsl:output method="text" encoding="US-ASCII"/>
  
  <xsl:template match="doc">
    <xsl:apply-templates select="dat"/><xsl:text>
  </xsl:text>
  </xsl:template>
  
  <xsl:template match="dat">
    <xsl:text>&#264;</xsl:text><xsl:value-of select="."/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr01.xml
  
  Index: positionerr01.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc>
    <a test="true">a</a>
    <a>b</a>
    <a test="false">c</a>
    <a test="true">d</a>
    <a>e</a>
    <a test="false">f</a>
    <a test="true">g</a>
    <a test="false">h</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr01.xsl
  
  Index: positionerr01.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: positionerr01 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 Node Set Functions -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Last should not have any arguments. -->
    <!-- ExpectedException: zero arguments expected  -->
    <!-- ExpectedException: FuncLast only allows 0 arguments -->
  
  <xsl:template match="doc">
    <out>
      Last is h: <xsl:value-of select="*[last(*,2)]"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr02.xml
  
  Index: positionerr02.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc>
    <a test="true">a</a>
    <a>b</a>
    <a test="false">c</a>
    <a test="true">d</a>
    <a>e</a>
    <a test="false">f</a>
    <a test="true">g</a>
    <a test="false">h</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr02.xsl
  
  Index: positionerr02.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: positionerr02 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 Node Set Functions -->
    <!-- Creator: David Marston -->
    <!-- Purpose: position() should not have any arguments. -->
    <!-- ExpectedException: zero arguments expected  -->
    <!-- ExpectedException: FuncPosition only allows 0 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="position(b)=1"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr03.xml
  
  Index: positionerr03.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc>
    <a test="true">a</a>
    <a>b</a>
    <a test="false">c</a>
    <a test="true">d</a>
    <a>e</a>
    <a test="false">f</a>
    <a test="true">g</a>
    <a test="false">h</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr03.xsl
  
  Index: positionerr03.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: positionerr03 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 Node Set Functions -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test too few arguments to count(). -->
    <!-- ExpectedException: The count function should take one argument -->
    <!-- ExpectedException: FuncCount only allows 1 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="count()"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr04.xml
  
  Index: positionerr04.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc>
    <a test="true">a</a>
    <a>b</a>
    <a test="false">c</a>
    <a test="true">d</a>
    <a>e</a>
    <a test="false">f</a>
    <a test="true">g</a>
    <a test="false">h</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr04.xsl
  
  Index: positionerr04.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: positionerr04 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 Node Set Functions -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test too many arguments to count(). -->
    <!-- ExpectedException: The count function should take one argument -->
    <!-- ExpectedException: FuncCount only allows 1 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="count(*,4)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr05.xml
  
  Index: positionerr05.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc>
    <a test="true">a</a>
    <a>b</a>
    <a test="false">c</a>
    <a test="true">d</a>
    <a>e</a>
    <a test="false">f</a>
    <a test="true">g</a>
    <a test="false">h</a>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/positionerr/positionerr05.xsl
  
  Index: positionerr05.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: positionerr05 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 Node Set Functions -->
    <!-- Creator: David Marston -->
    <!-- Purpose: last() should not have any arguments. -->
    <!-- ExpectedException: zero arguments expected  -->
    <!-- ExpectedException: FuncLast only allows 0 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="position()=last(a)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr01.xml
  
  Index: processorinfoerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr01.xsl
  
  Index: processorinfoerr01.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: PROPerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 -->
    <!-- Purpose: Test bad argument to system-property -->
    <!-- ExpectedException: property not supported -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="system-property('xsl:if')"/>
    </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr02.xml
  
  Index: processorinfoerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr02.xsl
  
  Index: processorinfoerr02.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: PROPerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 -->
    <!-- Purpose: Test bad argument to system-property, no namespace -->
    <!-- ExpectedException: property not supported -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="system-property('size')"/>
    </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr03.xml
  
  Index: processorinfoerr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr03.xsl
  
  Index: processorinfoerr03.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
                  xmlns:lotus="http://www.lotus.com">
  
    <!-- FileName: PROPerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 -->
    <!-- Purpose: Test bad argument to system-property, different namespace -->
    <!-- ExpectedException: property not supported -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="system-property('lotus:version')"/>
    </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr04.xml
  
  Index: processorinfoerr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr04.xsl
  
  Index: processorinfoerr04.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: PROPerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 -->
    <!-- Purpose: Test too few arguments to system-property -->
    <!-- ExpectedException: system-property requires one argument -->
    <!-- ExpectedException: FuncSystemProperty only allows 1 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="system-property()"/>
    </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr05.xml
  
  Index: processorinfoerr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/processorinfoerr/processorinfoerr05.xsl
  
  Index: processorinfoerr05.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: PROPerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 -->
    <!-- Purpose: Test too many arguments to system-property -->
    <!-- ExpectedException: system-property requires one argument -->
    <!-- ExpectedException: FuncSystemProperty only allows 1 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="system-property('xsl:version','xsl:vendor')"/>
    </out>
  </xsl:template>
   
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr01.xml
  
  Index: selecterr01.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <doc>
  this text shouldn't be here.
  </doc>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr01.xsl
  
  Index: selecterr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr01 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for select with empty value. -->
    <!-- ExpectedException: null expression selected -->
    <!-- ExpectedException: Empty expression! --><!-- Not a great error, but probably close enough -sc -->
  
  <xsl:template match="/">
    <xsl:apply-templates select=""/>
  </xsl:template>
  
  <xsl:template match="*">
    We found a node!
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr02.xml
  
  Index: selecterr02.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">
      <item type="z">a</item>
      <item type="c">b</item>
      <item type="x">c</item>
    </foo>
    <foo name="y">
      <item type="y">d</item>
      <item type="h">e</item>
      <item type="k">f</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr02.xsl
  
  Index: selecterr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 8 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test for-each lacking a select. -->
    <!-- ExpectedException: xsl:for-each requires attribute: select -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each>
        <xsl:copy-of select="//item"/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr03.xml
  
  Index: selecterr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr03.xsl
  
  Index: selecterr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr03 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" where a node-set is expected. -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="count(troo())"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr04.xml
  
  Index: selecterr04.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">
      <item type="z">a</item>
      <item type="c">b</item>
      <item type="x">c</item>
    </foo>
    <foo name="y">
      <item type="y">d</item>
      <item type="h">e</item>
      <item type="k">f</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr04.xsl
  
  Index: selecterr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 12.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to provide an argument to current(). -->
    <!-- ExpectedException: current() must not have any arguments -->
    <!-- ExpectedException: FuncCurrent only allows 0 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="foo">
        <xsl:copy-of select="//item[@type=current(doc)/@name]"/><xsl:text> </xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr05.xml
  
  Index: selecterr05.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr05.xsl
  
  Index: selecterr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 8 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Put xsl:for-each at top level, which is illegal. -->
    <!-- ExpectedException: xsl:for-each is not allowed in this position in the stylesheet -->
  
  <xsl:for-each select="/doc/foo">
    <xsl:text>This should fail</xsl:text>
  </xsl:for-each>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr06.xml
  
  Index: selecterr06.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <child>bad1
      <sub>bad2</sub>
    </child>
    <c>bad3
      <sub>bad4</sub>
    </c>
    <sub>OK
      <nogo>bad5</nogo>
    </sub>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr06.xsl
  
  Index: selecterr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr06 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.7 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: NCName followed by :: must be recognized as an AxisName. -->
    <!-- ExpectedException: illegal axis name: c -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="c::sub">
        <xsl:value-of select="./text()"/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr07.xml
  
  Index: selecterr07.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>bad0
    <!-- Good -->
    <comment>bad1
      <sub>bad2</sub>
    </comment>
    <c>bad3</c>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr07.xsl
  
  Index: selecterr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr07 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.7 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: NCName followed by ( must be recognized as a NodeType
        or FunctionName. -->
    <!-- ExpectedException: Could not find function: c -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="c()">
        <xsl:copy/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr08.xml
  
  Index: selecterr08.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <div>14</div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr08.xsl
  
  Index: selecterr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr08 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.7 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: name after ) must be treated as operator -->
    <!-- ExpectedException: Extra illegal tokens: 'foo', '2' -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="(* - 4) foo 2"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr09.xml
  
  Index: selecterr09.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <div>6</div>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr09.xsl
  
  Index: selecterr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr09 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.7 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: . after number but with space should be treated as path -->
    <!-- ExpectedException: Extra illegal tokens: '.', '+', '*' -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
    </out>
  </xsl:template>
  
  <xsl:template match="div">
    <xsl:value-of select="5 . + *"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr10.xml
  
  Index: selecterr10.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a><b attr="test"/></a>
    <c>
      <d>
        <e/>
      </d>
    </c>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr10.xsl
  
  Index: selecterr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 8 Repetition -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use a number where a node-set is needed in for-each.-->
    <!-- ExpectedException: XPATH: Can not convert #UNKNOWN to a NodeList -->
    <!-- ExpectedException: Can not convert #NUMBER to a NodeList! -->
  
  <xsl:template match="/">
    <out>
      <xsl:for-each select="4">
        <xsl:value-of select="."/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr11.xml
  
  Index: selecterr11.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a><b attr="test"/></a>
    <c>
      <d>
        <e/>
      </d>
    </c>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr11.xsl
  
  Index: selecterr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 8 Repetition -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use a boolean where a node-set is needed in for-each.-->
    <!-- ExpectedException: XPATH: Can not convert #UNKNOWN to a NodeList -->
    <!-- ExpectedException: Can not convert #BOOLEAN to a NodeList! -->
  
  <xsl:template match="/">
    <out>
      <xsl:for-each select="true()">
        <xsl:value-of select="."/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr12.xml
  
  Index: selecterr12.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <critter type="dog"><name>Lassie</name></critter>
    <human><name>Anne</name></human>
    <critter type="dog"><name>Wishbone</name></critter>
    <critter type="cat"><name>Felix</name></critter>
    <critter type="cat"><name>Sylvester</name></critter>
    <critter type="porcupine"><name>Porky</name></critter>
    <human><name>Elissa</name></human>
    <critter type="cat"><name>TopCat</name></critter>
    <critter type="turtle"><name>Churchy</name></critter>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr12.xsl
  
  Index: selecterr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr12 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 8 Repetition -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use a string where a node-set is needed in for-each.-->
    <!-- ExpectedException: XPATH: Can not convert #UNKNOWN to a NodeList -->
    <!-- ExpectedException: Can not convert #STRING to a NodeList! -->
  
  <xsl:variable name="which" select="'fish'"/>
  
  <xsl:template match="/doc">
    <out>
      <xsl:for-each select="$which">
        <xsl:value-of select="name"/><xsl:text>,</xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr13.xml
  
  Index: selecterr13.xml
  ===================================================================
  <?xml version="1.0" ?>
  <doc>
    test
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr13.xsl
  
  Index: selecterr13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr13 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 8 Repetition -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use an RTF where a node-set is needed in for-each.-->
    <!-- ExpectedException: XPATH: Can not convert #UNKNOWN to a NodeList -->
    <!-- ExpectedException: Can not convert #RTREEFRAG to a NodeList! -->
  
  <xsl:variable name="ResultTreeFragTest">
    <xsl:value-of select="doc"/>
  </xsl:variable>
  
  <xsl:template match="/doc">
    <out>
      <xsl:for-each select="$ResultTreeFragTest">
        <xsl:value-of select="name"/><xsl:text>,</xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr14.xml
  
  Index: selecterr14.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a><b attr="test"/></a>
    <c>
      <d>
        <e/>
      </d>
    </c>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr14.xsl
  
  Index: selecterr14.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr14 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use a number where a node-set is needed in apply-templates.-->
    <!-- ExpectedException: XPATH: Can not convert #UNKNOWN to a NodeList -->
    <!-- ExpectedException: Can not convert #NUMBER to a NodeList! -->
  
  <xsl:template match="/">
    <out>
      <xsl:apply-templates select="4"/>
    </out>
  </xsl:template>
  
  <xsl:template match="*">
    <xsl:text>.</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr15.xml
  
  Index: selecterr15.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <a><b attr="test"/></a>
    <c>
      <d>
        <e/>
      </d>
    </c>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr15.xsl
  
  Index: selecterr15.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr15 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use a boolean where a node-set is needed in apply-templates.-->
    <!-- ExpectedException: XPATH: Can not convert #UNKNOWN to a NodeList -->
    <!-- ExpectedException: Can not convert #BOOLEAN to a NodeList! -->
  
  <xsl:template match="/">
    <out>
      <xsl:apply-templates select="true()"/>
    </out>
  </xsl:template>
  
  <xsl:template match="*">
    <xsl:text>.</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr16.xml
  
  Index: selecterr16.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <critter type="dog"><name>Lassie</name></critter>
    <human><name>Anne</name></human>
    <critter type="dog"><name>Wishbone</name></critter>
    <critter type="cat"><name>Felix</name></critter>
    <critter type="cat"><name>Sylvester</name></critter>
    <critter type="porcupine"><name>Porky</name></critter>
    <human><name>Elissa</name></human>
    <critter type="cat"><name>TopCat</name></critter>
    <critter type="turtle"><name>Churchy</name></critter>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr16.xsl
  
  Index: selecterr16.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr16 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 5.4 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use a string where a node-set is needed in apply-templates.-->
    <!-- ExpectedException: XPATH: Can not convert #UNKNOWN to a NodeList -->
    <!-- ExpectedException: Can not convert #STRING to a NodeList! -->
  
  <xsl:variable name="which" select="'fish'"/>
  
  <xsl:template match="/doc">
    <out>
      <xsl:apply-templates select="$which"/>
    </out>
  </xsl:template>
  
  <xsl:template match="*">
    <xsl:text>.</xsl:text>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr17.xml
  
  Index: selecterr17.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">
      <item type="z">a</item>
      <item type="c">
        <subitem>OK</subitem>
      </item>
      <item type="x">c</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr17.xsl
  
  Index: selecterr17.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr17 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to follow '//' by a predicate, without node-test. -->
    <!-- ExpectedException: Found '[' without node test -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="foo">
        <xsl:value-of select="item//[@type='x']"/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr18.xml
  
  Index: selecterr18.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">
      <item type="z">a</item>
      <item type="c">
        <subitem>OK</subitem>
      </item>
      <item type="x">c</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr18.xsl
  
  Index: selecterr18.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr18 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to select a '//' without a following node-test. -->
    <!-- ExpectedException: Abbreviation '//' must be followed by a step expression -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="//subitem">
        <xsl:value-of select="//"/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr19.xml
  
  Index: selecterr19.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">
      <item type="z">a</item>
      <item type="c">
        <subitem>OK</subitem>
      </item>
      <item type="x">c</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr19.xsl
  
  Index: selecterr19.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr19 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to put '//' at end of path. -->
    <!-- ExpectedException: Abbreviation '//' must be followed by a step expression -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="foo">
        <xsl:value-of select="item//"/>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr20.xml
  
  Index: selecterr20.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">
      <item type="z">a</item>
      <item type="c">
        <subitem>OK</subitem>
      </item>
      <item type="x">c</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr20.xsl
  
  Index: selecterr20.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr20 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to select a '//' without a following node-test as a function argument. -->
    <!-- ExpectedException: Abbreviation '//' must be followed by a step expression -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates select="foo"/>
    </out>
  </xsl:template>
  
  <xsl:template match="foo">
    <count><xsl:value-of select="count(//)"/></count>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr21.xml
  
  Index: selecterr21.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">5
      <item type="z">a</item>
      <item type="c">
        <subitem>OK</subitem>
      </item>
      <item type="x">c</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr21.xsl
  
  Index: selecterr21.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr21 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try '//' followed by a comma as a function argument. -->
    <!-- ExpectedException: Abbreviation '//' must be followed by a step expression -->
    <!-- ExpectedException: Unexpected token -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates select="foo"/>
    </out>
  </xsl:template>
  
  <xsl:template match="foo">
    <subs><xsl:value-of select="substring-after(//,'O')"/></subs>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr22.xml
  
  Index: selecterr22.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">5
      <item type="z">a</item>
      <item type="c">
        <subitem>OK</subitem>
      </item>
      <item type="x">c</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr22.xsl
  
  Index: selecterr22.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr22 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try '//' followed by a + as a function argument. -->
    <!-- ExpectedException: Abbreviation '//' must be followed by a step expression -->
    <!-- ExpectedException: Unexpected token -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates select="foo"/>
    </out>
  </xsl:template>
  
  <xsl:template match="foo">
    <subs><xsl:value-of select="//+17"/></subs>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr23.xml
  
  Index: selecterr23.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
    <foo name="x">5
      <item type="z">a</item>
      <item type="c">
        <subitem>OK</subitem>
      </item>
      <item type="x">c</item>
    </foo>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/selecterr/selecterr23.xsl
  
  Index: selecterr23.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: selecterr23 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try '//' followed by a | in a select. -->
    <!-- ExpectedException: Abbreviation '//' must be followed by a step expression -->
    <!-- ExpectedException: Unexpected token -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates select="foo"/>
    </out>
  </xsl:template>
  
  <xsl:template match="foo">
    <subs><xsl:value-of select="//|subitem"/></subs>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr01.xml
  
  Index: sorterr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- Test for xsl:sort -->
  <!-- UTF-8 order: space, !, %, lower-case letters -->
  <doc>
    <t>abc</t>
    <t>a b</t>
    <t>ab </t>
    <t>ac </t>
    <t>abcd</t>
    <t>ab!</t>
    <t>ab%</t>
    <t>a!b</t>
    <t>a!b!</t>
    <t>ac!</t>
    <t>a c%</t>
    <t>abd</t>
    <t>a!cd</t>
    <t>ab</t>
    <t>a c</t>
    <t>a!b </t>
    <t>a  d</t>
    <t>a!c</t>
    <t>acc</t>
  </doc>
  
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr01.xsl
  
  Index: sorterr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Undefined value for data-type attribute on sort. -->
    <!-- ExpectedException: Sorting data-type must be "text" or "number" -->
    <!-- ExpectedException: Attribute: data-type has an illegal value: badtype -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="t">
        <xsl:sort data-type="badtype"/>
        <xsl:value-of select="."/><xsl:text>|</xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr02.xml
  
  Index: sorterr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- Test for xsl:sort -->
  <doc>
    <num>99</num>
    <num>3</num>
    <num>100</num>
    <num>40</num>
    <num>69</num>
    <num>82</num>
    <num>1</num>
    <num>0</num>
    <num>803.23</num>
    <num>803.05</num>
    <num>803.33333333</num>
    <num>803.33333332</num>
    <num>23</num>
    <num>1001001001</num>
    <num>0008</num>
    <num>5</num>
    <num>04</num>
    <num>002</num>
    <num>666</num>
    <num>777</num>
    <num>Hello</num>
    <num>617-939-5938</num>
    <num>-13</num>
    <num>-47</num>
  </doc>
  
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr02.xsl
  
  Index: sorterr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Incorrect value for order attribute on sort. -->
    <!-- ExpectedException: Sorting order must be "ascending" or "descending" -->
    <!-- ExpectedException: Attribute: order has an illegal value: sideways -->
  
  <xsl:template match="doc">
    <out>
      Sideways order....
      <xsl:for-each select="num">
        <xsl:sort data-type="number" order="sideways"/>
        <xsl:value-of select="."/><xsl:text> </xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr03.xml
  
  Index: sorterr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- Test for xsl:sort -->
  <doc>
    <item>XSLT</item>
    <item>processors</item>
    <item>must</item>
    <item>use</item>
    <item>XML</item>
    <item>Namespaces</item>
    <item>mechanism</item>
    <item>to</item>
    <item>recognize</item>
    <item>XSLT-defined</item>
    <item>elements</item>
    <item>specified</item>
    <item>document</item>
    <item>prefix</item>
    <item>recognized</item>
    <item>URI</item>
    <item>preFIX</item>
  </doc>
  
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr03.xsl
  
  Index: sorterr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Incorrect value for case-order attribute on sort. -->
    <!-- ExpectedException: Sorting case-order must be "upper-first" or "lower-first" -->
    <!-- ExpectedException: Attribute: case-order has an illegal value: bad-order -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="item">
        <xsl:sort lang="en-US" case-order="bad-order"/>
        <xsl:copy-of select="."/><xsl:text>
  </xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr04.xml
  
  Index: sorterr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- Test for xsl:sort -->
  <!-- UTF-8 order: space, !, %, lower-case letters -->
  <doc>
    <t>abc</t>
    <t>a b</t>
    <t>ab </t>
    <t>ac </t>
    <t>abcd</t>
    <t>ab!</t>
    <t>ab%</t>
    <t>a!b</t>
    <t>a!b!</t>
    <t>ac!</t>
    <t>a c%</t>
    <t>abd</t>
    <t>a!cd</t>
    <t>ab</t>
    <t>a c</t>
    <t>a!b </t>
    <t>a  d</t>
    <t>a!c</t>
    <t>acc</t>
  </doc>
  
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr04.xsl
  
  Index: sorterr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Undefined attribute on sort. -->
    <!-- ExpectedException: xsl:sort has an illegal attribute: invalidattr -->
    <!-- ExpectedException: "invalidattr" attribute is not allowed on the xsl:sort element! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="t">
        <xsl:sort invalidattr="badvalue"/>
        <xsl:value-of select="."/><xsl:text>|</xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr05.xml
  
  Index: sorterr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- Test for xsl:sort -->
  <doc>
    <num>99</num>
    <num>3</num>
    <num>100</num>
    <num>40</num>
    <num>69</num>
    <num>82</num>
    <num>1</num>
    <num>0</num>
    <num>803.23</num>
    <num>803.05</num>
    <num>803.33333333</num>
    <num>803.33333332</num>
    <num>23</num>
    <num>1001001001</num>
    <num>0008</num>
    <num>5</num>
    <num>04</num>
    <num>002</num>
    <num>666</num>
    <num>777</num>
    <num>Hello</num>
    <num>617-939-5938</num>
    <num>-13</num>
    <num>-47</num>
  </doc>
  
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr05.xsl
  
  Index: sorterr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to put a child node inside xsl:sort. -->
    <!-- ExpectedException: xsl:comment is not allowed in this position in the stylesheet -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="num">
        <xsl:sort data-type="number">
          <xsl:comment>Can't do this here!</xsl:comment>
        </xsl:sort>
        <xsl:value-of select="."/><xsl:text> </xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr06.xml
  
  Index: sorterr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <docs>
  </docs>
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr06.xsl
  
  Index: sorterr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test use of xsl:sort inside a directive where it's not allowed. -->
    <!-- ExpectedException: xsl:sort can only be used with xsl:apply-templates or xsl:for-each. -->
    <!-- ExpectedException: (StylesheetHandler) xsl:sort can only be used with xsl:apply-templates or xsl:for-each. -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) xsl:sort can only be used with xsl:apply-templates or xsl:for-each. -->
    <!-- ExpectedException: xsl:sort is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="/">
    <Out>
      <xsl:comment>
        <xsl:sort/>
        <xsl:text>Comment content</xsl:text>
      </xsl:comment>
    </Out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr07.xml
  
  Index: sorterr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <docs>
  </docs>
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr07.xsl
  
  Index: sorterr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test use of xsl:sort at top level, where it's not allowed. -->
    <!-- ExpectedException: xsl:sort is not allowed in this position in the stylesheet -->
  
  <xsl:sort select="docs"/>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr08.xml
  
  Index: sorterr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- Test for xsl:sort -->
  <!-- UTF-8 order: space, !, %, lower-case letters -->
  <doc>
    <t>abc</t>
    <t>a b</t>
    <t>ab </t>
    <t>ac </t>
    <t>abcd</t>
    <t>ab!</t>
    <t>ab%</t>
    <t>a!b</t>
    <t>a!b!</t>
    <t>ac!</t>
    <t>a c%</t>
    <t>abd</t>
    <t>a!cd</t>
    <t>ab</t>
    <t>a c</t>
    <t>a!b </t>
    <t>a  d</t>
    <t>a!c</t>
    <t>acc</t>
  </doc>
  
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr08.xsl
  
  Index: sorterr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
        xmlns:baz1="http://xsl.lotus.com/ns1">
  
    <!-- FileName: SORTerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Undefined value for data-type attribute on sort, but it's qualified. -->
    <!-- ExpectedException: No known sort routine for baz1:badtype -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="t">
        <xsl:sort data-type="baz1:badtype"/>
        <xsl:value-of select="."/><xsl:text>|</xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr09.xml
  
  Index: sorterr09.xml
  ===================================================================
  <?xml version="1.0"?>
  <!-- Test for xsl:sort -->
  <doc>
    <item>XSLT</item>
    <item>processors</item>
    <item>must</item>
    <item>use</item>
    <item>XML</item>
    <item>namespaces</item>
    <item>mechanism</item>
    <item>to</item>
    <item>recognize</item>
    <item>XSLT-defined</item>
    <item>elements</item>
    <item>specified</item>
    <item>document</item>
    <item>prefix</item>
    <item>recognized</item>
    <item>URI</item>
    <item>04</item>
    <item>002</item>
  </doc>
  
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr09.xsl
  
  Index: sorterr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Try to use an AVT for the select value. -->
    <!-- ExpectedException: select value for xsl:sort cannot contain {} -->
    <!-- ExpectedException: Extra illegal tokens: '{.}' --><!-- Could use improvements for usability -sc -->
  
  <xsl:template match="doc">
    <out>
      <xsl:for-each select="item">
        <xsl:sort select="{.}"/>
        <xsl:copy-of select="."/><xsl:text>
  </xsl:text>
      </xsl:for-each>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/sorterr/sorterr10.xml
  
  Index: sorterr10.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/conferr/sorterr/sorterr10.xsl
  
  Index: sorterr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: SORTerr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 10 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: When can't sort on primary key, should not sort at all. Raise warning? -->
    <!-- ExpectedException: Sort nodes not found. Will use document order. -->
  
  <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"><!-- error is that there is no mo to look up -->
        <xsl:sort select="key('MonthNum',mo)" 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/conferr/stringerr/stringerr01.xml
  
  Index: stringerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr01.xsl
  
  Index: stringerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr01 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" with string(). -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="string(troo())"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr02.xml
  
  Index: stringerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr02.xsl
  
  Index: stringerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr02 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of invalid function that resembles "true" with string-length(). -->
    <!-- ExpectedException: Could not find function: troo -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="string-length(troo())"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr03.xml
  
  Index: stringerr03.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc> 
    <a>       This          is a       normalized          string.</a>    
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr03.xsl
  
  Index: stringerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr03 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'normalize-space()' function with too many arguments -->
    <!-- ExpectedException: normalize-space() has too many arguments -->
    <!-- ExpectedException: FuncNormalizeSpace only allows 1 arguments -->
  
  <xsl:template match="/doc">
    <out>
      <xsl:value-of select="normalize-space(a,'&#9;&#10;&#13; ab    cd  ')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr04.xml
  
  Index: stringerr04.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr04.xsl
  
  Index: stringerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr04 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'contains()' with one argument -->
    <!-- ExpectedException: contains() requires two arguments -->
    <!-- ExpectedException: FuncContains only allows 2 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="contains('ENCYCLOPEDIA')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr05.xml
  
  Index: stringerr05.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr05.xsl
  
  Index: stringerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr05 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'contains()' with too many arguments -->
    <!-- ExpectedException: contains() has too many arguments -->
    <!-- ExpectedException: FuncContains only allows 2 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="contains('ENCYCLOPEDIA','LOPE',doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr06.xml
  
  Index: stringerr06.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr06.xsl
  
  Index: stringerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr06 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'starts-with()' with one argument -->
    <!-- ExpectedException: starts-with() requires two arguments -->
    <!-- ExpectedException: FuncStartsWith only allows 2 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="starts-with('ENCYCLOPEDIA')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr07.xml
  
  Index: stringerr07.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr07.xsl
  
  Index: stringerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr07 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'starts-with()' with too many arguments -->
    <!-- ExpectedException: starts-with() has too many arguments -->
    <!-- ExpectedException: FuncStartsWith only allows 2 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="starts-with('ENCYCLOPEDIA','LOPE',doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr08.xml
  
  Index: stringerr08.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr08.xsl
  
  Index: stringerr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr08 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'substring-before()' with one argument -->
    <!-- ExpectedException: substring-before() requires two arguments -->
    <!-- ExpectedException: FuncSubstringBefore only allows 2 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="substring-before('ENCYCLOPEDIA')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr09.xml
  
  Index: stringerr09.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr09.xsl
  
  Index: stringerr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr09 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'substring-before()' with too many arguments -->
    <!-- ExpectedException: substring-before() has too many arguments -->
    <!-- ExpectedException: FuncSubstringBefore only allows 2 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="substring-before('ENCYCLOPEDIA','LOPE',doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr10.xml
  
  Index: stringerr10.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr10.xsl
  
  Index: stringerr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr10 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'substring-after()' with one argument -->
    <!-- ExpectedException: substring-after() requires two arguments -->
    <!-- ExpectedException: FuncSubstringAfter only allows 2 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="substring-after('ENCYCLOPEDIA')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr11.xml
  
  Index: stringerr11.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr11.xsl
  
  Index: stringerr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr11 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'substring-after()' with too many arguments -->
    <!-- ExpectedException: substring-after() has too many arguments -->
    <!-- ExpectedException: FuncSubstringAfter only allows 2 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="substring-after('ENCYCLOPEDIA','LOPE',doc)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr12.xml
  
  Index: stringerr12.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr12.xsl
  
  Index: stringerr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr12 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'substring()' with one argument -->
    <!-- ExpectedException: substring() requires 2-3 arguments -->
    <!-- ExpectedException: FuncSubstring only allows 2 or 3 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="substring('ENCYCLOPEDIA')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr13.xml
  
  Index: stringerr13.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr13.xsl
  
  Index: stringerr13.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr13 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'substring()' with too many arguments -->
    <!-- ExpectedException: substring() has too many arguments -->
    <!-- ExpectedException: FuncSubstring only allows 3 arguments --><!-- Note different msg than with stringerr12.xsl -sc -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="substring('ENCYCLOPEDIA',4,5,2)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr14.xml
  
  Index: stringerr14.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr14.xsl
  
  Index: stringerr14.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr14 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'concat()' with one argument -->
    <!-- ExpectedException: concat() requires two or more arguments -->
    <!-- ExpectedException: FuncConcat only allows >1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="concat('x')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr15.xml
  
  Index: stringerr15.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr15.xsl
  
  Index: stringerr15.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr15 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'string-length()' with too many arguments -->
    <!-- ExpectedException: string-length() has too many arguments. -->
    <!-- ExpectedException: FuncStringLength only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="string-length('ENCYCLOPEDIA','PEDI')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr16.xml
  
  Index: stringerr16.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr16.xsl
  
  Index: stringerr16.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr16 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'translate()' with 2 arguments -->
    <!-- ExpectedException: The translate() function takes three arguments -->
    <!-- ExpectedException: FuncTranslate only allows 3 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="translate('bar','abc')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr17.xml
  
  Index: stringerr17.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc attr="slamwich">ENCYCLOPEDIA</doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr17.xsl
  
  Index: stringerr17.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr17 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'translate()' with too many arguments -->
    <!-- ExpectedException: The translate() function takes three arguments -->
    <!-- ExpectedException: FuncTranslate only allows 3 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="translate('bar','abc','ABC','output')"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr18.xml
  
  Index: stringerr18.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc></doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr18.xsl
  
  Index: stringerr18.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr18 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test of 'string()' with too many arguments -->
    <!-- ExpectedException: string() has too many arguments. -->
    <!-- ExpectedException: FuncString only allows 1 arguments -->
  
  <xsl:template match="/">
    <out>
      <xsl:value-of select="string(22,44)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr19.xml
  
  Index: stringerr19.xml
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <doc>
  <a>a</a>
  <b>b</b>
  <c>c</c>
  <d>d</d>
  <e attr="whatsup">what's up</e>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/stringerr/stringerr19.xsl
  
  Index: stringerr19.xsl
  ===================================================================
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: stringerr19 -->
    <!-- Document: http://www.w3.org/TR/xpath -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 4.2 String Functions  -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: Special case of concat() with one argument.
         Strictly speaking, this should fail just like STRerr14. -->
    <!-- ExpectedException: concat() requires two or more arguments -->
    <!-- ExpectedException: FuncConcat only allows >1 arguments -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="concat(/*)"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr01.xml
  
  Index: variableerr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr01.xsl
  
  Index: variableerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters -->
    <!-- Purpose: Negative test, attempt to access undefined variable. -->
    <!-- Author: David Marston -->
    <!-- ExpectedException: Could not find variable with the name of input -->
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="$input"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr02.xml
  
  Index: variableerr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <inner/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr02.xsl
  
  Index: variableerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters -->
    <!-- Purpose: Negative test, attempt to access variable that's not in scope. -->
    <!-- Author: David Marston -->
    <!-- ExpectedException: Could not find variable with the name of input -->
  
  <xsl:template match="doc">
    <out>
      <xsl:apply-templates/>
      Back to doc template.
      <xsl:value-of select="$input"/>
    </out>
  </xsl:template>
  
  <xsl:template match="inner">
    <xsl:variable name="input" select="2"/>
    Now in inner template.
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr03.xml
  
  Index: variableerr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr03.xsl
  
  Index: variableerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: VARerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Test for missing name attribute in xsl:variable -->
    <!-- ExpectedException: xsl:variable must have a name attribute. -->
    <!-- ExpectedException: xsl:variable requires attribute: name -->
  
  <xsl:variable select="'ABC'"/>
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="$ExpressionTest"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr04.xml
  
  Index: variableerr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr04.xsl
  
  Index: variableerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters -->
    <!-- Purpose: Negative test, attempt to use variable RTF as a nodeset. -->
    <!-- ExpectedException: Can not convert #RTREEFRAG to a NodeList! -->
    <!-- Author: Paul Dick -->
  
  <xsl:template match="doc">
    <out>
      <xsl:variable name="foo">
         <foo><bar>some text</bar></foo>
      </xsl:variable>
      <xsl:apply-templates select="$foo/*"/>
    </out>
  </xsl:template>
  
  <xsl:template match="*">
    <xsl:value-of select="."/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr05.xml
  
  Index: variableerr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <item>1</item>
    <item>2</item>
    <item>3</item>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr05.xsl
  
  Index: variableerr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Test for xsl:variable with both content and select. -->
    <!-- ExpectedException: xsl:variable cannot have both content and select attribute. -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <xsl:variable name="n" select="3">2</xsl:variable>
    <out>
      <xsl:value-of select="item[$n]"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr06.xml
  
  Index: variableerr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <item>1</item>
    <item>2</item>
    <item>3</item>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr06.xsl
  
  Index: variableerr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Test for xsl:param with both content and select. -->
    <!-- ExpectedException: xsl:param cannot have both content and select attribute. -->
    <!-- Author: David Marston -->
  
  <xsl:param name="n" select="3">2</xsl:param>
  
  <xsl:template match="doc">
    <out>
      <xsl:value-of select="item[$n]"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr07.xml
  
  Index: variableerr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <item>1</item>
    <item>2</item>
    <item>3</item>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr07.xsl
  
  Index: variableerr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: VARerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Test for xsl:variable with more than one select. -->
    <!-- ExpectedException: Attribute "select" was already specified for element "xsl:variable". -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <xsl:variable name="n" select="3" select="2"/>
    <out>
      <xsl:value-of select="item[$n]"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr08.xml
  
  Index: variableerr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <item>Y</item>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr08.xsl
  
  Index: variableerr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.5 -->
    <!-- Purpose: Put xsl:param somewhere other than first in a template. -->
    <!-- Author: David Marston -->
    <!-- ExpectedException: xsl:param is not allowed in this position in the stylesheet -->
  
  <xsl:template match="doc">
    <out>
      <xsl:text>Output before setting param1...</xsl:text>
      <xsl:param name="param1" select="item" />
      <xsl:value-of select="$param1"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr09.xml
  
  Index: variableerr09.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr09.xsl
  
  Index: variableerr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Try to set same top-level xsl:variable twice -->
    <!-- ExpectedException: Duplicate global variable declaration. -->
    <!-- Author: David Marston -->
  
  <xsl:variable name="ExpressionTest" select="'ABC'"/>
  <xsl:variable name="ExpressionTest" select="'XYZ'"/>
  
  <xsl:template match="doc">
     <out>
        <xsl:value-of select="$ExpressionTest"/>
     </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr10.xml
  
  Index: variableerr10.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr10.xsl
  
  Index: variableerr10.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr10 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Try to set same top-level xsl:param twice -->
    <!-- ExpectedException: Duplicate global variable declaration. -->
    <!-- Author: David Marston -->
  
  <xsl:param name="ExpressionTest" select="'ABC'"/>
  <xsl:param name="ExpressionTest" select="'XYZ'"/>
  
  <xsl:template match="doc">
     <out>
        <xsl:value-of select="$ExpressionTest"/>
     </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr11.xml
  
  Index: variableerr11.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr11.xsl
  
  Index: variableerr11.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr11 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Try to set same top-level param twice using different instructions, param first -->
    <!-- ExpectedException: Duplicate global variable declaration. -->
    <!-- Author: David Marston -->
  
  <xsl:param name="ExpressionTest" select="'ABC'"/>
  <xsl:variable name="ExpressionTest" select="'XYZ'"/>
  
  <xsl:template match="doc">
     <out>
        <xsl:value-of select="$ExpressionTest"/>
     </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr12.xml
  
  Index: variableerr12.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr12.xsl
  
  Index: variableerr12.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr12 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Try to set same top-level param twice using different instructions, variable first -->
    <!-- ExpectedException: Duplicate global variable declaration. -->
    <!-- Author: David Marston -->
  
  <xsl:variable name="ExpressionTest" select="'ABC'"/>
  <xsl:param name="ExpressionTest" select="'XYZ'"/>
  
  <xsl:template match="doc">
     <out>
        <xsl:value-of select="$ExpressionTest"/>
     </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr13.xml
  
  Index: variableerr13.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr13.xsl
  
  Index: variableerr13.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr13 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters -->
    <!-- Purpose: Try to set same in-template param twice -->
    <!-- ExpectedException: Duplicate variable declaration. -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <xsl:param name="partest" select="contains('foo','of')"/>
    <xsl:param name="partest" select="contains('foo','o')"/>
    <out>
      <xsl:value-of select="$partest"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr14.xml
  
  Index: variableerr14.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr14.xsl
  
  Index: variableerr14.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr14 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters -->
    <!-- Purpose: Try to set same in-template variable twice -->
    <!-- ExpectedException: Duplicate variable declaration. -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <xsl:variable name="partest" select="contains('foo','of')"/>
    <xsl:variable name="partest" select="contains('foo','o')"/>
    <out>
      <xsl:value-of select="$partest"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr15.xml
  
  Index: variableerr15.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr15.xsl
  
  Index: variableerr15.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr15 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters -->
    <!-- Purpose: Try to set same in-template param twice using different instructions, param first -->
    <!-- ExpectedException: Duplicate variable declaration. -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <xsl:param name="partest" select="contains('foo','of')"/>
    <xsl:variable name="partest" select="contains('foo','o')"/>
    <out>
      <xsl:value-of select="$partest"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr16.xml
  
  Index: variableerr16.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr16.xsl
  
  Index: variableerr16.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr16 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters -->
    <!-- Purpose: Try to set same in-template param twice using different instructions, variable first -->
    <!-- ExpectedException: Duplicate variable declaration. -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <xsl:variable name="partest" select="contains('foo','of')"/>
    <xsl:param name="partest" select="contains('foo','o')"/>
    <out>
      <xsl:value-of select="$partest"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr17.xml
  
  Index: variableerr17.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr17.xsl
  
  Index: variableerr17.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr17 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters  -->
    <!-- Purpose: Try to set top-level params with circular references -->
    <!-- ExpectedException: Variable defined using itself -->
    <!-- Author: David Marston -->
    <!-- ExpectedException: Variable circle0 is directly or indirectly referencing itself! -->
  
  <xsl:variable name="circle0" select="concat('help',$circle1)"/>
  <xsl:param name="circle1" select="concat('help',$circle0)"/>
  
  <xsl:template match="doc">
     <out>
        <xsl:value-of select="$circle0"/>
     </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr18.xml
  
  Index: variableerr18.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr18.xsl
  
  Index: variableerr18.xsl
  ===================================================================
  <?xml version="1.0"?> 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr18 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.2 Values of Variables and Parameters -->
    <!-- Purpose: Try to set in-template params with circular references -->
    <!-- ExpectedException: Variable defined using itself -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <xsl:param name="circle0" select="concat('help',$circle1)"/>
    <xsl:param name="circle1" select="concat('help',$circle0)"/>
    <out>
      <xsl:value-of select="$circle0"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr19.xml
  
  Index: variableerr19.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr19.xsl
  
  Index: variableerr19.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr19 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.5 -->
    <!-- Purpose: Try to set a variable inside a template based on variable defined later in that template. -->
    <!-- ExpectedException: VariableReference given for variable out of context or without definition! -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <out>
      <xsl:variable name="b" select="$a" />
      <xsl:variable name="a" select="'second'" /><!-- Two sets of quotes make it a string -->
      <xsl:value-of select="$b" />
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr20.xml
  
  Index: variableerr20.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/variableerr/variableerr20.xsl
  
  Index: variableerr20.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: variableerr20 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 11.6 -->
    <!-- Purpose: Try to set same param twice inside a template, after setting via with-param. -->
    <!-- ExpectedException: Variable is already declared in this template -->
    <!-- Author: David Marston -->
  
  <xsl:template match="doc">
    <out>
      <xsl:call-template name="secondary">
        <xsl:with-param name="a" select="'zero'"/><!-- Two sets of quotes make it a string -->
      </xsl:call-template>
    </out>
  </xsl:template>
  
  <xsl:template name="secondary">
    <xsl:param name="a" select="'first'" />
    <xsl:param name="a" select="'second'" />
    <xsl:value-of select="$a" />
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr01.xml
  
  Index: vererr01.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr01.xsl
  
  Index: vererr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: VERerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.5 Forwards-Compatible Processing  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test validation when version matches supported version. -->
    <!-- ExpectedException: xsl:exciting-new-8.5-feature is not allowed in this position in the stylesheet -->
  
    <xsl:template match="/">
      <out>
        Choosing, based on value of version property.
        <xsl:choose>
          <xsl:when test="system-property('xsl:version') &gt;= 1.0">
            We are trying to use the 8.5 feature in an earlier version.
            <xsl:exciting-new-8.5-feature/>
          </xsl:when>
          <xsl:otherwise>
            We didn't try to use the 8.5 feature, but we should have.
            <xsl:message>This stylesheet requires XSLT 1.0 or higher</xsl:message>
          </xsl:otherwise>
        </xsl:choose>
      </out>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr02.xml
  
  Index: vererr02.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr02.xsl
  
  Index: vererr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  				version="0.5">
  
    <!-- FileName: VERerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.5 Forwards-Compatible Processing  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test validation when version is lower than supported version. -->
    <!-- ExpectedException: xsl:exciting-new-8.5-feature is not allowed in this position in the stylesheet -->
  
    <xsl:template match="/">
      <out>
        Choosing, based on value of version property.
        <xsl:choose>
          <xsl:when test="system-property('xsl:version') &gt;= 0.5">
            We are trying to use the 8.5 feature in an earlier version.
            <xsl:exciting-new-8.5-feature/>
          </xsl:when>
          <xsl:otherwise>
            We didn't try to use the 8.5 feature, but we should have.
            <xsl:message>This stylesheet requires XSLT 0.5 or higher</xsl:message>
          </xsl:otherwise>
        </xsl:choose>
      </out>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr03.xml
  
  Index: vererr03.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <version theattrib="39"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr03.xsl
  
  Index: vererr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  				version="1.0">
  
    <!-- FileName: VERerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.2 Stylesheet element -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Don't allow transform to be matched with stylesheet. -->
    <!-- ExpectedException: The element type "xsl:transform" must be terminated by the matching end-tag "&lt;/xsl:transform&gt;". -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: The element type "xsl:transform" must be terminated by the matching end-tag "&lt;/xsl:transform&gt;". -->
    <!-- ExpectedException: The element type "xsl:transform" must be terminated by the matching end-tag "</xsl:transform>". -->
  
  <!-- Explicitly match text nodes so the output is just 39 -->
  <xsl:template match="text()">
    <xsl:apply-templates/>
  </xsl:template>
  
  <xsl:template match="doc/version">
    <out>
      <xsl:value-of select="./@theattrib"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr04.xml
  
  Index: vererr04.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <version theattrib="39"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr04.xsl
  
  Index: vererr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  				version="1.0">
  
    <!-- FileName: VERerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.2 Stylesheet element -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Don't allow xsl:stylesheet inside the stylesheet element. -->
    <!-- ExpectedException: xsl:stylesheet is not allowed in this position in the stylesheet -->
  
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  				version="1.0">
      <xsl:template match="doc">
        <out>
          This is from the nested stylesheet
        </out>
      </xsl:template>
  
    </xsl:stylesheet>
  
    <xsl:template match="doc">
      <out>
        Should have an error before this prints
      </out>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr05.xml
  
  Index: vererr05.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr05.xsl
  
  Index: vererr05.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: VERerr05 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.1 XSLT Namespace  -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test use of an undefined element (garbage) as if was part of XSLT. -->
    <!-- ExpectedException: Unknown XSL element: garbage -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: Unknown XSL element: garbage -->
    <!-- ExpectedException: xsl:garbage is not allowed in this position in the stylesheet! -->
  
    <xsl:template match="/">
      <out>
        The garbage element is not part of XSLT!
        <xsl:garbage/>
      </out>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr06.xml
  
  Index: vererr06.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <version theattrib="39"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr06.xsl
  
  Index: vererr06.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  				version="1.0">
  
    <!-- FileName: VERerr06 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.2 Stylesheet element -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Don't allow xsl:stylesheet inside a template. -->
    <!-- ExpectedException: xsl:stylesheet is not allowed in this position in the stylesheet -->
  
  <xsl:template match="doc">
    <out>
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
        <xsl:text>This is from the nested stylesheet</xsl:text>
      </xsl:stylesheet>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr07.xml
  
  Index: vererr07.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <version theattrib="39"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr07.xsl
  
  Index: vererr07.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  				version="1.0">
  
    <!-- FileName: VERerr07 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.2 Stylesheet element -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Don't allow xsl:transform inside a template. -->
    <!-- ExpectedException: xsl:transform is not allowed in this position in the stylesheet -->
  
  <xsl:template match="doc">
    <out>
      <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
        <xsl:text>This is from the nested stylesheet</xsl:text>
      </xsl:transform>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr08.xml
  
  Index: vererr08.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
    <version theattrib="39"/>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr08.xsl
  
  Index: vererr08.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  				version="1.0">
  
    <!-- FileName: VERerr08 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.2 Stylesheet element -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Don't allow xsl:transform inside the stylesheet element. -->
    <!-- ExpectedException: xsl:transform is not allowed in this position in the stylesheet -->
  
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  				version="1.0">
      <xsl:template match="doc">
        <out>
          This is from the nested stylesheet
        </out>
      </xsl:template>
  
    </xsl:transform>
  
    <xsl:template match="doc">
      <out>
        Should have an error before this prints
      </out>
    </xsl:template>
  
  </xsl:stylesheet>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr09.xml
  
  Index: vererr09.xml
  ===================================================================
  <?xml version="1.0"?>
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/vererr/vererr09.xsl
  
  Index: vererr09.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
    <!-- FileName: VERerr09 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 2.2 -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test that version number is required. -->
    <!-- ExpectedException: stylesheet must have version attribute -->
    <!-- ExpectedException: xsl:stylesheet requires attribute: version -->
  
  <xsl:template match="/">
    <out>
      Choosing, based on value of version property.
      <xsl:choose>
        <xsl:when test="system-property('xsl:version') &gt;= 1.0">
          We are ready to use the 1.0 feature.
        </xsl:when>
        <xsl:otherwise>
          We didn't try to use the 1.0 feature, but we should have.
          <xsl:message>This stylesheet requires XSLT 1.0 or higher</xsl:message>
        </xsl:otherwise>
      </xsl:choose>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/whitespaceerr/whitespaceerr01.xml
  
  Index: whitespaceerr01.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/whitespaceerr/whitespaceerr01.xsl
  
  Index: whitespaceerr01.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: whitespaceerr01 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 Whitespace Stripping -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: Test error reporting when required attribute, elements, is missing
         from xsl:strip-space. -->
    <!-- ExpectedException: (StylesheetHandler) xsl:strip-space requires an elements attribute! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) xsl:strip-space requires an elements attribute! -->
    <!-- ExpectedException: xsl:strip-space requires attribute: elements -->
  
  <xsl:strip-space/>
  
  <xsl:template match="doc">
      <xsl:apply-templates select="*"/>
  
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/whitespaceerr/whitespaceerr02.xml
  
  Index: whitespaceerr02.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/whitespaceerr/whitespaceerr02.xsl
  
  Index: whitespaceerr02.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: whitespaceerr02 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 Whitespace Stripping -->
    <!-- Creator: Paul Dick -->
    <!-- Purpose: Test error reporting when required attribute, elements, is missing
         from xsl:preserve-space. -->
    <!-- ExpectedException: (StylesheetHandler) xsl:preserve-space requires an elements attribute! -->
    <!-- ExpectedException: org.apache.xalan.xslt.XSLProcessorException: (StylesheetHandler) xsl:preserve-space requires an elements attribute! -->
    <!-- ExpectedException: xsl:preserve-space requires attribute: elements -->
  
  <xsl:preserve-space/>
  
  <xsl:template match="doc">
      <xsl:apply-templates select="*"/>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/whitespaceerr/whitespaceerr03.xml
  
  Index: whitespaceerr03.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/whitespaceerr/whitespaceerr03.xsl
  
  Index: whitespaceerr03.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: whitespaceerr03 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 Whitespace Stripping -->
    <!-- Creator: David Marston -->
    <!-- Purpose: Test placement of preserve-space inside a template, which is illegal. -->
    <!-- ExpectedException: xsl:preserve-space is not allowed inside a template! -->
    <!-- ExpectedException: XSLT: (StylesheetHandler) xsl:preserve-space is not allowed inside a template! -->
    <!-- ExpectedException: xsl:preserve-space is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:preserve-space elements="test2"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  
  1.1                  xml-xalan/test/tests/conferr/whitespaceerr/whitespaceerr04.xml
  
  Index: whitespaceerr04.xml
  ===================================================================
  <?xml version="1.0"?> 
  <doc>
  </doc>
  
  
  1.1                  xml-xalan/test/tests/conferr/whitespaceerr/whitespaceerr04.xsl
  
  Index: whitespaceerr04.xsl
  ===================================================================
  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  
    <!-- FileName: whitespaceerr04 -->
    <!-- Document: http://www.w3.org/TR/xslt -->
    <!-- DocVersion: 19991116 -->
    <!-- Section: 3.4 Whitespace Stripping -->
    <!-- Purpose: Test placement of strip-space inside atemplate, which is illegal. -->
    <!-- ExpectedException: xsl:strip-space is not allowed inside a template! -->
    <!-- ExpectedException: XSLT: (StylesheetHandler) xsl:strip-space is not allowed inside a template! -->
    <!-- ExpectedException: xsl:strip-space is not allowed in this position in the stylesheet! -->
  
  <xsl:template match="doc">
    <out>
      <xsl:strip-space elements="test2"/>
    </out>
  </xsl:template>
  
  </xsl:stylesheet>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org