public class SaxonTransformerFactory extends SAXTransformerFactory
The system property that determines which Factory implementation to create is named "javax.xml.transform.TransformerFactory". This property names a concrete subclass of the TransformerFactory abstract class. If the property is not defined, a platform default is be used.
This implementation class implements the abstract methods on both the javax.xml.transform.TransformerFactory and javax.xml.transform.sax.SAXTransformerFactory classes.
In Saxon 9.6, the JAXP transformation interface is re-implemented as a layer on top of the s9api interface. This will affect applications that attempt to down-cast from JAXP interfaces to the underlying implementation classes.
FEATURE, FEATURE_XMLFILTER
Constructor and Description |
---|
SaxonTransformerFactory()
Default constructor.
|
SaxonTransformerFactory(Configuration config)
Construct a TransformerFactory using an existing Configuration.
|
Modifier and Type | Method and Description |
---|---|
Source |
getAssociatedStylesheet(Source source,
String media,
String title,
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.
|
Object |
getAttribute(String name)
Allows the user to retrieve specific attributes on the underlying
implementation.
|
Configuration |
getConfiguration()
Get the configuration.
|
ErrorListener |
getErrorListener()
Get the error event handler for the TransformerFactory.
|
boolean |
getFeature(String name)
Look up the value of a feature.
|
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)
Process the Source into a Templates object, which is a
a compiled representation of the source.
|
Templates |
newTemplates(Source source,
CompilerInfo info)
Process the Source into a Templates object, which is a
a compiled representation of the source.
|
TemplatesHandler |
newTemplatesHandler()
Get a TemplatesHandler object that can process SAX
ContentHandler events into a Templates object.
|
Transformer |
newTransformer()
Create a new Transformer object that performs a copy
of the source to the result.
|
Transformer |
newTransformer(Source source)
Process the Source into a Transformer object.
|
TransformerHandler |
newTransformerHandler()
Get a TransformerHandler object that can process SAX
ContentHandler events into a Result.
|
TransformerHandler |
newTransformerHandler(Source src)
Get a TransformerHandler object that can process SAX
ContentHandler events into a Result, based on the transformation
instructions specified by the argument.
|
TransformerHandler |
newTransformerHandler(Templates templates)
Get a TransformerHandler object that can process SAX
ContentHandler events into a Result, based on the Templates argument.
|
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(String name,
Object value)
Allows the user to set specific attributes on the underlying
implementation.
|
void |
setConfiguration(Configuration config)
Set the configuration.
|
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 |
setFeature(String name,
boolean value)
Set a feature for this
TransformerFactory and Transformer s
or Template s created by this factory. |
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.
|
newInstance, newInstance
public SaxonTransformerFactory()
public SaxonTransformerFactory(Configuration config)
config
- the Saxon configurationpublic void setConfiguration(Configuration config)
FeatureKeys.CONFIGURATION
config
- the Saxon configurationpublic Configuration getConfiguration()
FeatureKeys.CONFIGURATION
public Transformer newTransformer(Source source) throws TransformerConfigurationException
newTransformer
in class TransformerFactory
source
- An object that holds a URI, input stream, etc. of the stylesheet
used to perform the transformation.TransformerConfigurationException
- May throw this during the parse
when it is constructing the Templates object and fails.public Transformer newTransformer() throws TransformerConfigurationException
newTransformer
in class TransformerFactory
TransformerConfigurationException
- May throw this during
the parse when it is constructing the
Templates object and fails.public Templates newTemplates(Source source) throws TransformerConfigurationException
newTemplates
in class TransformerFactory
source
- An object that holds a URL, input stream, etc.TransformerConfigurationException
- May throw this during the parse when it
is constructing the Templates object and fails.public Templates newTemplates(Source source, CompilerInfo info) throws TransformerConfigurationException
source
- An object that holds a URL, input stream, etc.info
- compile-time options for this stylesheet compilationTransformerConfigurationException
- May throw this during the parse when it
is constructing the Templates object and fails.public Source getAssociatedStylesheet(Source source, String media, String title, String charset) throws TransformerConfigurationException
getAssociatedStylesheet
in class TransformerFactory
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).
Note that Saxon does not implement the complex CSS3-based syntax for
media queries. By default, the media value is simply ignored. An algorithm for
comparing the requested media with the declared media can be defined using
the method Configuration.setMediaQueryEvaluator(Comparator)
.title
- The value of the title attribute to match. May be null.charset
- The value of the charset attribute to match. May be null.TransformerConfigurationException
- if any problems occurpublic void setURIResolver(URIResolver resolver)
setURIResolver
in class TransformerFactory
resolver
- An object that implements the URIResolver interface,
or null.public URIResolver getURIResolver()
getURIResolver
in class TransformerFactory
public boolean getFeature(String name)
The feature name is any absolute URI.
getFeature
in class TransformerFactory
name
- The feature name, which is an absolute URI.public void setAttribute(String name, Object value) throws IllegalArgumentException
setAttribute
in class TransformerFactory
name
- The name of the attribute. This must be one of the constants
defined in class FeatureKeys
.value
- The value of the attribute.IllegalArgumentException
- thrown if Saxon
doesn't recognize the attribute.FeatureKeys
public Object getAttribute(String name) throws IllegalArgumentException
getAttribute
in class TransformerFactory
name
- The name of the attribute. This must be one of the constants
defined in class FeatureKeys
.IllegalArgumentException
- thrown if the underlying
implementation doesn't recognize the attribute.public void setErrorListener(ErrorListener listener) throws IllegalArgumentException
This method is defined in JAXP but its use with Saxon is deprecated, because the errorListener will be shared by all stylesheet compilations running under this factory, which may be operating concurrently in different threads.
setErrorListener
in class TransformerFactory
listener
- The new error listener.IllegalArgumentException
- if listener is null.public ErrorListener getErrorListener()
getErrorListener
in class TransformerFactory
public TransformerHandler newTransformerHandler(Source src) throws TransformerConfigurationException
newTransformerHandler
in class SAXTransformerFactory
src
- The Source of the transformation instructions.TransformerConfigurationException
- If for some reason the
TransformerHandler can not be created.public TransformerHandler newTransformerHandler(Templates templates) throws TransformerConfigurationException
newTransformerHandler
in class SAXTransformerFactory
templates
- The compiled transformation instructions.TransformerConfigurationException
- If for some reason the
TransformerHandler can not be created.public TransformerHandler newTransformerHandler() throws TransformerConfigurationException
newTransformerHandler
in class SAXTransformerFactory
TransformerConfigurationException
- If for some reason the
TransformerHandler cannot be created.public TemplatesHandler newTemplatesHandler() throws TransformerConfigurationException
newTemplatesHandler
in class SAXTransformerFactory
TransformerConfigurationException
- If for some reason the
TemplatesHandler cannot be created.public XMLFilter newXMLFilter(Source src) throws TransformerConfigurationException
newXMLFilter
in class SAXTransformerFactory
src
- The Source of the transformation instructions.TransformerConfigurationException
- If for some reason the
XMLFilter cannot be created.public XMLFilter newXMLFilter(Templates templates) throws TransformerConfigurationException
newXMLFilter
in class SAXTransformerFactory
templates
- The compiled transformation instructions.TransformerConfigurationException
- If for some reason the
XMLFilter cannot be created.public void setFeature(String name, boolean value) throws TransformerConfigurationException
Set a feature for this TransformerFactory
and Transformer
s
or Template
s created by this factory.
URI
s.
Implementations may define their own features.
An TransformerConfigurationException
is thrown if this TransformerFactory
or the
Transformer
s or Template
s it creates cannot support the feature.
It is possible for an TransformerFactory
to expose a feature value but be unable to change its state.
All implementations are required to support the FEATURE_SECURE_PROCESSING feature. When the feature is:
true
: the implementation will limit XML processing to conform to implementation limits
and behave in a secure fashion as defined by the implementation.
Examples include resolving user defined style sheets and functions.
If XML processing is limited for security reasons, it will be reported via a call to the registered
ErrorListener.fatalError(javax.xml.transform.TransformerException exception)
.
See setErrorListener(javax.xml.transform.ErrorListener listener)
. In the Saxon implementation,
this option causes calls on extension functions and extensions instructions to be disabled, and also
disables the use of xsl:result-document to write to secondary output destinations.
false
: the implementation will processing XML according to the XML specifications without
regard to possible implementation limits.
setFeature
in class TransformerFactory
name
- Feature name.value
- Is feature state true
or false
.TransformerConfigurationException
- if this TransformerFactory
or the Transformer
s or Template
s it creates cannot support this feature.NullPointerException
- If the name
parameter is null.Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.