You are running Xalan, which does not support XSLT 2.0. This depends on your classpath settings. To be sure of running Saxon, set the system property javax.xml.transform.TransformerFactory to net.sf.saxon.TransformerFactoryImpl.
 
Michael Kay


From: saxon-help-admin@lists.sourceforge.net [mailto:saxon-help-admin@lists.sourceforge.net] On Behalf Of Hélia Pouyllau
Sent: 11 May 2004 12:17
To: saxon-help@lists.sourceforge.net
Subject: [XSLT 2.0][Saxon] <xsl:output>

Hi,

I have a strange problem when I try to use the tag <xsl:output> to generate multiple output documents.
I'm trying to use the sample privided with the saxon 7.9.1 : applying "play.xsl" on "othello.xml". I get the following error :

javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: "name" attribute is not allowed on the xsl:output element!
    at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:984)
    at MonPackageDeTest.AppTest.main(AppTest.java:60)
Caused by: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: "name" attribute is not allowed on the xsl:output element!
    at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:980)
    ... 1 more
Caused by: javax.xml.transform.TransformerException: "name" attribute is not allowed on the xsl:output element! ...etc.

I'm executing the following Java code :
             
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;      
 
puclic class MyClass {

           public static void main(String[] args) {
           . . .
           TransformerFactory tfactory = TransformerFactory.newInstance();
               
              File output = new File(dest);
                          
              Transformer transformer = tfactory.newTransformer(new StreamSource(output));
              transformer.setParameter("dir", dir);
              transformer.transform(new StreamSource(xml),  new StreamResult(output));
              . . .

}

The XSL file looks so :
<xsl:output name="play" method="html" />
<xsl:output name="scene" method="html"/>

<xsl:template match="PLAY">
    <xsl:result-document href="file:///{$dir}/play.html" format="play">
. . .
    </xsl:result-document>
</xsl:template>
. . .

And my configuration is :
- saxon 7.9.1
- JDK 1.5 (i tried also with some 1.4.2 versions)
- Windows 2000

I tried on another computer with the same configuration and code and I got no error. So please, if you have encountered the same problem, give me a hand.

Thanks in advance,
HPO