This compatibility API supports limited use of the Xalan-Java 1 API in the Xalan-Java 2 environment. For the Xalan-Java 2 API, see Xalan-Java 2 API.

Basic procedure for performing transformations:

  1. Use one of the {@link org.apache.xalan.xslt.XSLTProcessorFactory} static getProcessor methods to instantiate an {@link org.apache.xalan.xslt.XSLTProcessor}.

    The XSLT and XPath engines are independent from any given DOM or XML implementation. All parser-dependent calls are funneled through the {@link org.apache.xalan.xpath.xml.XMLParserLiaison}.

  2. Set up {@link org.apache.xalan.xslt.XSLTInputSource} objects for the XML input and XSL stylesheet. You can use a file name or URL, character stream, byte stream, or SAX input stream to instantiate an XSLTInputSource object.

    If the XML document contains a stylesheet Processing Instruction (PI), you do not need to create a separate XSLTInputSource object for an XSL stylesheet.

    Note: For improved performance with a series of transformations, use the XSLTProcessor processStylesheet method to compile the XSL stylesheet. The result is a {@link org.apache.xalan.xslt.StylesheetRoot} object with its own process() method for performing transformations. Compiling the stylesheet is also useful when you need to get information from the stylesheet before the transformation occurs. You also must compile the stylesheet if you are using the XSLTProcessor as a SAX document handler.

  3. Set up an {@link org.apache.xalan.xslt.XSLTResultTarget} for the transformation output. You can use a file name or URL, character stream, byte stream, or SAX document handler to instantiate an XSLTResultTarget object.

  4. Use the XSLTProcessor or (if you have compiled the stylesheet) the(@link org.apache.xalan.xslt.StylesheetRoot} process method to perform the transformation.

    Xalan-Java is thread-safe for one instance per thread. If you are using the same instance of XSLTProcessor to perform more than one transformation, call the reset method between transformations.