An instance of this abstract class represents a document "transformation engine" such as an XSLT processor. A transformerFactory is used to create TRansformer objects that perform document transformations, and can also be used to process transformation instructions (such as XSLT stylesheets) into compiled Templates objects. Obtain a transformerFactory instance by calling the static newInstance( ) method. newInstance( ) returns an instance of the default implementation for your Java installation, or, if the system property javax.xml.transform.TransformerFactory is set, then it returns an instance of the implementation class named by that property. The default TRansformerFactory implementation provided with the Java distribution transforms XML documents using XSL stylesheets. You can configure a transformerFactory instance by calling setErrorListener( ) and setURIResolver( ) to specify an ErrorListener object and a URIResolver object to be used by the factory when reading and parsing XSL stylesheets. The setAttribute( ) and getAttribute( ) methods can be used to set and query implementation-dependent attributes of the transformation engine. The default engine supplied by Sun does not define any attributes. The getFeature( ) method is used to test whether the factory supports a given feature. For uniqueness, feature names are expressed as URIs, and each of the Source and Result implementations defined in the three subpackages of this package define a FEATURE constant that specifies a URL that you can use to test whether a transformerFactory supports that particular Source or Result type. Once you have obtained and configured your TRansformerFactory object, you can use it in several ways. If you call the newtransformer( ) method that takes no arguments, you'll obtain a transformer object that transforms the format or representation of an XML document without transforming its content. For example, you could use a transformer created in this way to transform a DOM tree (represented by a javax.xml.transform.dom.DOMSource object) to a stream of XML text stored in a file named by a javax.xml.transform.stream.StreamResult . Another way to use a transformerFactory is to call the newTemplates( ) method, passing in a Source object that represents an XSL stylesheet. This produces a Templates object, which you can use to obtain a transformer object that applies the stylesheet to transform document content. Alternatively, if you do not plan to create more than one transformer object from the Templates object, you can combine the two steps and simply pass the Source object representing the stylesheet to the one-argument version of newtransformer( ) . XML documents may include references to XSL stylesheets in the form of an xml-stylesheet processing instruction. The getAssociatedStylesheet( ) method reads the XML document represented by a Source object and returns a new Source object that represents the stylesheet (or the concatenation of all the stylesheets) contained in that document that match the media, title, and charset constraints defined by the other three parameters (which may be null). If you want to process an XML document using the stylesheet that it defines itself, use this method to obtain a Source object that you can pass to newtransformer( ) to create the transformer object that you can use to transform the document. transformerFactory implementations are not typically threadsafe. public abstract class TransformerFactory { // Protected Constructors protected TransformerFactory ( ); // Public Class Methods public static TransformerFactory newInstance ( ) throws TransformerFactoryConfigurationError; // Public Instance Methods public abstract Source getAssociatedStylesheet (Source source , String media , String title , String charset ) throws TransformerConfigurationException; public abstract Object getAttribute (String name ); public abstract ErrorListener getErrorListener ( ); public abstract boolean getFeature (String name ); public abstract URIResolver getURIResolver ( ); public abstract Templates newTemplates (Source source ) throws TransformerConfigurationException; public abstract Transformer newTransformer ( ) throws TransformerConfigurationException; public abstract Transformer newTransformer (Source source ) throws TransformerConfigurationException; public abstract void setAttribute (String name , Object value ); public abstract void setErrorListener (ErrorListener listener ); 5.0 public abstract void setFeature (String name , boolean value ) throws TransformerConfigurationException; public abstract void setURIResolver (URIResolver resolver ); } Subclassesjavax.xml.transform.sax.SAXTransformerFactory |