Class EnterpriseTransformerFactory

All Implemented Interfaces:
Configuration.ApiProvider
Direct Known Subclasses:
StreamingTransformerFactory

public class EnterpriseTransformerFactory extends ProfessionalTransformerFactory
The is the JAXP TransformerFactory implementation for the enterprise edition of Saxon. It can be invoked by setting the system property javax.xml.transform.TransformerFactory to the value com.saxonica.EnterpriseTransformerFactory, and calling TransformerFactory.newInstance(), or it can be instantiated directly.
  • Constructor Details

    • EnterpriseTransformerFactory

      public EnterpriseTransformerFactory()
      Create an EnterpriseTransformerFactory. An EnterpriseConfiguration will be created automatically.
    • EnterpriseTransformerFactory

      public EnterpriseTransformerFactory(EnterpriseConfiguration config)
      Construct a TransformerFactory using an existing Configuration.
      Parameters:
      config - the configuration to be used. This must be an EnterpriseConfiguration.
  • Method Details

    • setAttribute

      public void setAttribute(String name, Object value) throws IllegalArgumentException
      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.
      Overrides:
      setAttribute in class ProfessionalTransformerFactory
      Parameters:
      name - The name of the attribute. This must be one of the constants defined in class FeatureKeys.
      value - The value of the attribute.
      Throws:
      IllegalArgumentException - thrown if Saxon doesn't recognize the attribute.
      See Also:
    • addSchema

      public void addSchema(Source schemaSource) throws TransformerException
      Load a schema, which will be available for use by all stylesheets subsequently compiled using this TransformerFactory.

      If this method is called more than once, the resulting schema will be the union of all schemas supplied. This union must be a valid schema in its own right. This means, for example, that two schemas supplied via this interface must not contain duplicate type definitions.

      Parameters:
      schemaSource - the JAXP Source object identifying the schema document to be loaded
      Throws:
      TransformerException - if the schema cannot be read or parsed or if it is invalid
    • newTemplates

      public Templates newTemplates(Source source) throws TransformerConfigurationException
      Process the Source into a Templates object, which is a 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.
      Overrides:
      newTemplates in class SaxonTransformerFactory
      Parameters:
      source - An object that holds a URL, input stream, etc.
      Returns:
      A Templates object capable of being used for transformation purposes, never null.
      Throws:
      TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and fails.
    • newTemplates

      public Templates newTemplates(Source source, CompilerInfo info) throws TransformerConfigurationException
      Process the Source into a Templates object, which is a 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.
      Overrides:
      newTemplates in class SaxonTransformerFactory
      Parameters:
      source - An object that holds a URL, input stream, etc.
      info - compile-time options for this stylesheet compilation
      Returns:
      A Templates object capable of being used for transformation purposes, never null.
      Throws:
      TransformerConfigurationException - May throw this during the parse when it is constructing the Templates object and fails.