Class TransformerFactoryImpl


public class TransformerFactoryImpl extends SAXTransformerFactory
The TransformerFactoryImpl, which implements the TRaX TransformerFactory interface, processes XSLT stylesheets into a Templates object (a StylesheetRoot).
  • Field Details

    • XSLT_PROPERTIES

      public static final String XSLT_PROPERTIES
      The path/filename of the property file: XSLTInfo.properties Maintenance note: see also org.apache.xpath.functions.FuncSystemProperty.XSLT_PROPERTIES
      See Also:
    • FEATURE_INCREMENTAL

      public static final String FEATURE_INCREMENTAL
      Static string to be used for incremental feature
      See Also:
    • FEATURE_OPTIMIZE

      public static final String FEATURE_OPTIMIZE
      Static string to be used for optimize feature
      See Also:
    • FEATURE_SOURCE_LOCATION

      public static final String FEATURE_SOURCE_LOCATION
      Static string to be used for source_location feature
      See Also:
  • Constructor Details

    • TransformerFactoryImpl

      public TransformerFactoryImpl()
      Constructor TransformerFactoryImpl
  • Method Details

    • processFromNode

      public Templates processFromNode(Node node) throws TransformerConfigurationException
      Throws:
      TransformerConfigurationException
    • getAssociatedStylesheet

      public Source getAssociatedStylesheet(Source source, String media, String title, String charset) throws TransformerConfigurationException
      Get InputSource specification(s) that are associated with the given document specified in the source param, via the xml-stylesheet processing instruction (see http://www.w3.org/TR/xml-stylesheet/), and that matches the given criteria. Note that it is possible to return several stylesheets that match the criteria, in which case they are applied as if they were a list of imports or cascades.

      Note that DOM2 has it's own mechanism for discovering stylesheets. Therefore, there isn't a DOM version of this method.

      Specified by:
      getAssociatedStylesheet in class TransformerFactory
      Parameters:
      source - The XML source that is to be searched.
      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 capable of being used to create a Templates object.
      Throws:
      TransformerConfigurationException
    • newTemplatesHandler

      public TemplatesHandler newTemplatesHandler() throws TransformerConfigurationException
      Create a new Transformer object that performs a copy of the source to the result.
      Specified by:
      newTemplatesHandler in class SAXTransformerFactory
      Returns:
      A Transformer object that may be used to perform a transformation in a single thread, never null.
      Throws:
      TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and fails.
    • setFeature

      public void setFeature(String name, boolean value) throws TransformerConfigurationException

      Set a feature for this TransformerFactory and Transformers or Templates created by this factory.

      Feature names are fully qualified URIs. Implementations may define their own features. An TransformerConfigurationException is thrown if this TransformerFactory or the Transformers or Templates it creates cannot support the feature. It is possible for an TransformerFactory to expose a feature value but be unable to change its state.

      See TransformerFactory for full documentation of specific features.

      Specified by:
      setFeature in class TransformerFactory
      Parameters:
      name - Feature name.
      value - Is feature state true or false.
      Throws:
      TransformerConfigurationException - if this TransformerFactory or the Transformers or Templates it creates cannot support this feature.
      NullPointerException - If the name parameter is null.
    • getFeature

      public boolean getFeature(String name)
      Look up the value of a feature.

      The feature name is any fully-qualified URI. It is possible for an TransformerFactory to recognize a feature name but to be unable to return its value; this is especially true in the case of an adapter for a SAX1 Parser, which has no way of knowing whether the underlying parser is validating, for example.

      Specified by:
      getFeature in class TransformerFactory
      Parameters:
      name - The feature name, which is a fully-qualified URI.
      Returns:
      The current state of the feature (true or false).
    • setAttribute

      public void setAttribute(String name, Object value) throws IllegalArgumentException
      Allows the user to set specific attributes on the underlying implementation.
      Specified by:
      setAttribute in class TransformerFactory
      Parameters:
      name - The name of the attribute.
      value - The value of the attribute; Boolean or String="true"|"false"
      Throws:
      IllegalArgumentException - thrown if the underlying implementation doesn't recognize the attribute.
    • getAttribute

      public Object getAttribute(String name) throws IllegalArgumentException
      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:
      IllegalArgumentException - thrown if the underlying implementation doesn't recognize the attribute.
    • newXMLFilter

      public XMLFilter newXMLFilter(Source src) throws TransformerConfigurationException
      Create an XMLFilter that uses the given source as the transformation instructions.
      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
    • newXMLFilter

      public XMLFilter newXMLFilter(Templates templates) throws TransformerConfigurationException
      Create an XMLFilter that uses the given source as the transformation instructions.
      Specified by:
      newXMLFilter in class SAXTransformerFactory
      Parameters:
      templates - non-null reference to Templates object.
      Returns:
      An XMLFilter object, or null if this feature is not supported.
      Throws:
      TransformerConfigurationException
    • newTransformerHandler

      public TransformerHandler newTransformerHandler(Source src) throws TransformerConfigurationException
      Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the transformation instructions specified by the argument.
      Specified by:
      newTransformerHandler in class SAXTransformerFactory
      Parameters:
      src - The source of the transformation instructions.
      Returns:
      TransformerHandler ready to transform SAX events.
      Throws:
      TransformerConfigurationException
    • newTransformerHandler

      public TransformerHandler newTransformerHandler(Templates templates) throws TransformerConfigurationException
      Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument.
      Specified by:
      newTransformerHandler in class SAXTransformerFactory
      Parameters:
      templates - The source of the transformation instructions.
      Returns:
      TransformerHandler ready to transform SAX events.
      Throws:
      TransformerConfigurationException
    • newTransformerHandler

      public TransformerHandler newTransformerHandler() throws TransformerConfigurationException
      Get a TransformerHandler object that can process SAX ContentHandler events into a Result.
      Specified by:
      newTransformerHandler in class SAXTransformerFactory
      Returns:
      TransformerHandler ready to transform SAX events.
      Throws:
      TransformerConfigurationException
    • newTransformer

      public Transformer newTransformer(Source source) throws TransformerConfigurationException
      Process the source into a Transformer object. Care must be given to know that this object can not be used concurrently in multiple threads.
      Specified by:
      newTransformer in class TransformerFactory
      Parameters:
      source - An object that holds a URL, input stream, etc.
      Returns:
      A Transformer object capable of being used for transformation purposes in a single thread.
      Throws:
      TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and fails.
    • newTransformer

      public Transformer newTransformer() throws TransformerConfigurationException
      Create a new Transformer object that performs a copy of the source to the result.
      Specified by:
      newTransformer in class TransformerFactory
      Returns:
      A Transformer object capable of being used for transformation purposes in a single thread.
      Throws:
      TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and it fails.
    • newTemplates

      public Templates newTemplates(Source source) throws TransformerConfigurationException
      Process the source into a Templates object, which is likely a compiled representation of the source. This Templates object may then be used concurrently across multiple threads. Creating a Templates object allows the TransformerFactory to do detailed performance optimization of transformation instructions, without penalizing runtime transformation.
      Specified by:
      newTemplates in class TransformerFactory
      Parameters:
      source - An object that holds a URL, input stream, etc.
      Returns:
      A Templates object capable of being used for transformation purposes.
      Throws:
      TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and fails.
    • setURIResolver

      public void setURIResolver(URIResolver resolver)
      Set an object that will be used to resolve URIs used in xsl:import, etc. This will be used as the default for the transformation.
      Specified by:
      setURIResolver in class TransformerFactory
      Parameters:
      resolver - An object that implements the URIResolver interface, or null.
    • getURIResolver

      public URIResolver getURIResolver()
      Get the object that will be used to resolve URIs used in xsl:import, etc. This will be used as the default for the transformation.
      Specified by:
      getURIResolver in class TransformerFactory
      Returns:
      The URIResolver that was set with setURIResolver.
    • getErrorListener

      public ErrorListener getErrorListener()
      Get the error listener in effect for the TransformerFactory.
      Specified by:
      getErrorListener in class TransformerFactory
      Returns:
      A non-null reference to an error listener.
    • setErrorListener

      public void setErrorListener(ErrorListener listener) throws IllegalArgumentException
      Set an error listener for the TransformerFactory.
      Specified by:
      setErrorListener in class TransformerFactory
      Parameters:
      listener - Must be a non-null reference to an ErrorListener.
      Throws:
      IllegalArgumentException - if the listener argument is null.
    • isSecureProcessing

      public boolean isSecureProcessing()
      Return the state of the secure processing feature.
      Returns:
      state of the secure processing feature.