Package com.saxonica.config

## Class ProfessionalTransformerFactory

- java.lang.Object
- - javax.xml.transform.TransformerFactory
  - - javax.xml.transform.sax.SAXTransformerFactory
    - - net.sf.saxon.jaxp.SaxonTransformerFactory
      - - net.sf.saxon.TransformerFactoryImpl
        - - com.saxonica.config.ProfessionalTransformerFactory

- All Implemented Interfaces:
    `Configuration.ApiProvider`
  Direct Known Subclasses:
    `EnterpriseTransformerFactory`

      public class ProfessionalTransformerFactory
      extends TransformerFactoryImpl

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

- - ### Field Summary

    - ### Fields inherited from class javax.xml.transform.sax.SAXTransformerFactory

      `FEATURE, FEATURE_XMLFILTER`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ProfessionalTransformerFactory()` | Create a ProfessionalTransformerFactory.
    `ProfessionalTransformerFactory​(ProfessionalConfiguration config)` | Construct a ProfessionalTransformerFactory using an existing Configuration.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `setAttribute​(java.lang.String name, java.lang.Object value)` | Allows the user to set specific attributes on the underlying implementation.

    - ### Methods inherited from class net.sf.saxon.jaxp.SaxonTransformerFactory

      `getAssociatedStylesheet, getAttribute, getConfiguration, getErrorListener, getFeature, getProcessor, getURIResolver, newTemplates, newTemplates, newTemplatesHandler, newTransformer, newTransformer, newTransformerHandler, newTransformerHandler, newTransformerHandler, newXMLFilter, newXMLFilter, setConfiguration, setErrorListener, setFeature, setURIResolver`

    - ### Methods inherited from class javax.xml.transform.TransformerFactory

      `newDefaultInstance, newInstance, newInstance`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ProfessionalTransformerFactory

          public ProfessionalTransformerFactory()

      Create a ProfessionalTransformerFactory. A ProfessionalConfiguration will be created automatically.

    - #### ProfessionalTransformerFactory

          public ProfessionalTransformerFactory​(ProfessionalConfiguration config)

      Construct a ProfessionalTransformerFactory using an existing Configuration.
      Parameters:
        `config` - the configuration to be used. This must be a ProfessionalConfiguration.

  - ### Method Detail

    - #### setAttribute

          public void setAttribute​(java.lang.String name,
                                   java.lang.Object value)
                            throws java.lang.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 `SaxonTransformerFactory`
      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:
        `java.lang.IllegalArgumentException` - thrown if Saxon doesn't recognize the attribute.
      See Also:
        `FeatureKeys`