## org.apache.xalan.xsltc.trax
Class SmartTransformerFactoryImpl

    java.lang.Object
      javax.xml.transform.TransformerFactory
          javax.xml.transform.sax.SAXTransformerFactory
              org.apache.xalan.xsltc.trax.SmartTransformerFactoryImpl

public class SmartTransformerFactoryImpl
extends SAXTransformerFactory

Implementation of a transformer factory that uses an XSLTC transformer factory for the creation of Templates objects and uses the Xalan processor transformer factory for the creation of Transformer objects.

Author:
  G. Todd Miller

Field Summary

Fields inherited from class javax.xml.transform.sax.SAXTransformerFactory
`FEATURE, FEATURE_XMLFILTER`

Constructor Summary
`SmartTransformerFactoryImpl()` implementation of the SmartTransformerFactory.

Method Summary
`Source` `getAssociatedStylesheet(Source source, java.lang.String media, java.lang.String title, java.lang.String charset)` Get the stylesheet specification(s) associated via the xml-stylesheet processing instruction (see http://www.w3.org/TR/xml-stylesheet/) with the document document specified in the source parameter, and that match the given criteria.
`java.lang.Object` `getAttribute(java.lang.String name)` Allows the user to retrieve specific attributes on the underlying implementation.
`ErrorListener` `getErrorListener()` Get the error event handler for the TransformerFactory.
`boolean` `getFeature(java.lang.String name)` javax.xml.transform.sax.TransformerFactory implementation.
`URIResolver` `getURIResolver()` Get the object that is used by default during the transformation to resolve URIs used in document(), xsl:import, or xsl:include.
`Templates` `newTemplates(Source source)` Create a Templates object that from the input stylesheet Uses the org.apache.xalan.xsltc.trax.TransformerFactory.
`TemplatesHandler` `newTemplatesHandler()` Get a TemplatesHandler object that can process SAX ContentHandler events into a Templates object.
`Transformer` `newTransformer()` Create a Transformer object that copies the input document to the result.
`Transformer` `newTransformer(Source source)` Create a Transformer object that from the input stylesheet Uses the org.apache.xalan.processor.TransformerFactory.
`TransformerHandler` `newTransformerHandler()` Get a TransformerHandler object that can process SAX ContentHandler events based on a copy transformer.
`TransformerHandler` `newTransformerHandler(Source src)` Get a TransformerHandler object that can process SAX ContentHandler events based on a transformer specified by the stylesheet Source.
`TransformerHandler` `newTransformerHandler(Templates templates)` Get a TransformerHandler object that can process SAX ContentHandler events based on a transformer specified by the stylesheet Source.
`XMLFilter` `newXMLFilter(Source src)` Create an XMLFilter that uses the given source as the transformation instructions.
`XMLFilter` `newXMLFilter(Templates templates)` Create an XMLFilter, based on the Templates argument..
`void` `setAttribute(java.lang.String name, java.lang.Object value)` Allows the user to set specific attributes on the underlying implementation.
`void` `setErrorListener(ErrorListener listener)` Set the error event listener for the TransformerFactory, which is used for the processing of transformation instructions, and not for the transformation itself.
`void` `setURIResolver(URIResolver resolver)` Set an object that is used by default during the transformation to resolve URIs used in xsl:import, or xsl:include.

Methods inherited from class javax.xml.transform.TransformerFactory
`newInstance`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SmartTransformerFactoryImpl

    public SmartTransformerFactoryImpl()

  implementation of the SmartTransformerFactory. This factory uses org.apache.xalan.xsltc.trax.TransformerFactory to return Templates objects; and uses org.apache.xalan.processor.TransformerFactory to return Transformer objects.

Method Detail

### setErrorListener

    public void setErrorListener(ErrorListener listener)
                          throws java.lang.IllegalArgumentException

  Description copied from class: `TransformerFactory`
  Set the error event listener for the TransformerFactory, which is used for the processing of transformation instructions, and not for the transformation itself.

  Specified by:
    `setErrorListener` in class `TransformerFactory`
  Parameters:
    `listener` - The new error listener.
  Throws:
    `java.lang.IllegalArgumentException` - if listener is null.

### getErrorListener

    public ErrorListener getErrorListener()

  Description copied from class: `TransformerFactory`
  Get the error event handler for the TransformerFactory.

  Specified by:
    `getErrorListener` in class `TransformerFactory`
  Returns:
    The current error handler, which should never be null.

### getAttribute

    public java.lang.Object getAttribute(java.lang.String name)
                                  throws java.lang.IllegalArgumentException

  Description copied from class: `TransformerFactory`
  Allows the user to retrieve specific attributes on the underlying implementation.

  Specified by:
    `getAttribute` in class `TransformerFactory`
  Parameters:
    `name` - The name of the attribute.
  Returns:
    value The value of the attribute.
  Throws:
    `java.lang.IllegalArgumentException` - thrown if the underlying implementation doesn't recognize the attribute.

### setAttribute

    public void setAttribute(java.lang.String name,
                             java.lang.Object value)
                      throws java.lang.IllegalArgumentException

  Description copied from class: `TransformerFactory`
  Allows the user to set specific attributes on the underlying implementation. An attribute in this context is defined to be an option that the implementation provides.

  Specified by:
    `setAttribute` in class `TransformerFactory`
  Parameters:
    `name` - The name of the attribute.
    `value` - The value of the attribute.
  Throws:
    `java.lang.IllegalArgumentException` - thrown if the underlying implementation doesn't recognize the attribute.

### getFeature

    public boolean getFeature(java.lang.String name)

  javax.xml.transform.sax.TransformerFactory implementation. Look up the value of a feature (to see if it is supported). This method must be updated as the various methods and features of this class are implemented.

  Specified by:
    `getFeature` in class `TransformerFactory`
  Parameters:
    `name` - The feature name
  Returns:
    'true' if feature is supported, 'false' if not

### getURIResolver

    public URIResolver getURIResolver()

  Description copied from class: `TransformerFactory`
  Get the object that is used by default during the transformation to resolve URIs used in document(), xsl:import, or xsl:include.

  Specified by:
    `getURIResolver` in class `TransformerFactory`
  Returns:
    The URIResolver that was set with setURIResolver.

### setURIResolver

    public void setURIResolver(URIResolver resolver)

  Description copied from class: `TransformerFactory`
  Set an object that is used by default during the transformation to resolve URIs used in xsl:import, or xsl:include.

  Specified by:
    `setURIResolver` in class `TransformerFactory`
  Parameters:
    `resolver` - An object that implements the URIResolver interface, or null.

### getAssociatedStylesheet

    public Source getAssociatedStylesheet(Source source,
                                          java.lang.String media,
                                          java.lang.String title,
                                          java.lang.String charset)
                                   throws TransformerConfigurationException

  Description copied from class: `TransformerFactory`
  Get the stylesheet specification(s) associated via the xml-stylesheet processing instruction (see http://www.w3.org/TR/xml-stylesheet/) with the document document specified in the source parameter, and that match the given criteria. Note that it is possible to return several stylesheets, in which case they are applied as if they were a list of imports or cascades in a single stylesheet.

  Specified by:
    `getAssociatedStylesheet` in class `TransformerFactory`
  Parameters:
    `source` - The XML source document.
    `media` - The media attribute to be matched. May be null, in which case the prefered templates will be used (i.e. alternate = no).
    `title` - The value of the title attribute to match. May be null.
    `charset` - The value of the charset attribute to match. May be null.
  Returns:
    A Source object suitable for passing to the TransformerFactory.
  Throws:
    `TransformerConfigurationException`

### newTransformer

    public Transformer newTransformer()
                               throws TransformerConfigurationException

  Create a Transformer object that copies the input document to the result. Uses the org.apache.xalan.processor.TransformerFactory.

  Specified by:
    `newTransformer` in class `TransformerFactory`
  Returns:
    A Transformer object.
  Throws:
    `TransformerConfigurationException` - May throw this during the parse when it is constructing the Templates object and fails.

### newTransformer

    public Transformer newTransformer(Source source)
                               throws TransformerConfigurationException

  Create a Transformer object that from the input stylesheet Uses the org.apache.xalan.processor.TransformerFactory.

  Specified by:
    `newTransformer` in class `TransformerFactory`
  Parameters:
    `source` - the stylesheet.
  Returns:
    A Transformer object.
  Throws:
    `TransformerConfigurationException` - May throw this during the parse when it is constructing the Templates object and fails.

### newTemplates

    public Templates newTemplates(Source source)
                           throws TransformerConfigurationException

  Create a Templates object that from the input stylesheet Uses the org.apache.xalan.xsltc.trax.TransformerFactory.

  Specified by:
    `newTemplates` in class `TransformerFactory`
  Parameters:
    `source` - the stylesheet.
  Returns:
    A Templates object.
  Throws:
    `TransformerConfigurationException` - May throw this during the parse when it is constructing the Templates object and fails.

### newTemplatesHandler

    public TemplatesHandler newTemplatesHandler()
                                         throws TransformerConfigurationException

  Get a TemplatesHandler object that can process SAX ContentHandler events into a Templates object. Uses the org.apache.xalan.xsltc.trax.TransformerFactory.

  Specified by:
    `newTemplatesHandler` in class `SAXTransformerFactory`
  Returns:
    A non-null reference to a TransformerHandler, that may be used as a ContentHandler for SAX parse events.
  Throws:
    `TransformerConfigurationException` - If for some reason the TemplatesHandler cannot be created.

### newTransformerHandler

    public TransformerHandler newTransformerHandler()
                                             throws TransformerConfigurationException

  Get a TransformerHandler object that can process SAX ContentHandler events based on a copy transformer. Uses org.apache.xalan.processor.TransformerFactory.

  Specified by:
    `newTransformerHandler` in class `SAXTransformerFactory`
  Returns:
    A non-null reference to a TransformerHandler, that may be used as a ContentHandler for SAX parse events.
  Throws:
    `TransformerConfigurationException` - If for some reason the TransformerHandler cannot be created.

### newTransformerHandler

    public TransformerHandler newTransformerHandler(Source src)
                                             throws TransformerConfigurationException

  Get a TransformerHandler object that can process SAX ContentHandler events based on a transformer specified by the stylesheet Source. Uses org.apache.xalan.processor.TransformerFactory.

  Specified by:
    `newTransformerHandler` in class `SAXTransformerFactory`
  Parameters:
    `src` - The Source of the transformation instructions.
  Returns:
    TransformerHandler ready to transform SAX events.
  Throws:
    `TransformerConfigurationException` - If for some reason the TransformerHandler can not be created.

### newTransformerHandler

    public TransformerHandler newTransformerHandler(Templates templates)
                                             throws TransformerConfigurationException

  Get a TransformerHandler object that can process SAX ContentHandler events based on a transformer specified by the stylesheet Source. Uses org.apache.xalan.xsltc.trax.TransformerFactory.

  Specified by:
    `newTransformerHandler` in class `SAXTransformerFactory`
  Parameters:
    `templates` - The compiled transformation instructions.
  Returns:
    TransformerHandler ready to transform SAX events.
  Throws:
    `TransformerConfigurationException` - If for some reason the TransformerHandler can not be created.

### newXMLFilter

    public XMLFilter newXMLFilter(Source src)
                           throws TransformerConfigurationException

  Create an XMLFilter that uses the given source as the transformation instructions. Uses org.apache.xalan.xsltc.trax.TransformerFactory.

  Specified by:
    `newXMLFilter` in class `SAXTransformerFactory`
  Parameters:
    `src` - The Source of the transformation instructions.
  Returns:
    An XMLFilter object, or null if this feature is not supported.
  Throws:
    `TransformerConfigurationException` - If for some reason the TemplatesHandler cannot be created.

### newXMLFilter

    public XMLFilter newXMLFilter(Templates templates)
                           throws TransformerConfigurationException

  Description copied from class: `SAXTransformerFactory`
  Create an XMLFilter, based on the Templates argument..

  Specified by:
    `newXMLFilter` in class `SAXTransformerFactory`
  Parameters:
    `templates` - The compiled transformation instructions.
  Returns:
    An XMLFilter object, or null if this feature is not supported.
  Throws:
    `TransformerConfigurationException` - If for some reason the TemplatesHandler cannot be created.

Copyright © 2004 Apache XML Project. All Rights Reserved.