Class TransformerFactoryImpl
- java.lang.Object
-
- javax.xml.transform.TransformerFactory
-
- javax.xml.transform.sax.SAXTransformerFactory
-
- org.apache.xalan.processor.TransformerFactoryImpl
-
public class TransformerFactoryImpl extends javax.xml.transform.sax.SAXTransformerFactory
The TransformerFactoryImpl, which implements the TRaX TransformerFactory interface, processes XSLT stylesheets into a Templates object (a StylesheetRoot).
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
FEATURE_INCREMENTAL
Static string to be used for incremental featurestatic java.lang.String
FEATURE_OPTIMIZE
Static string to be used for optimize featurestatic java.lang.String
FEATURE_SOURCE_LOCATION
Static string to be used for source_location featurestatic java.lang.String
XSLT_PROPERTIES
The path/filename of the property file: XSLTInfo.properties Maintenance note: see alsoorg.apache.xpath.functions.FuncSystemProperty.XSLT_PROPERTIES
-
Constructor Summary
Constructors Constructor Description TransformerFactoryImpl()
Constructor TransformerFactoryImpl
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.xml.transform.Source
getAssociatedStylesheet(javax.xml.transform.Source source, java.lang.String media, java.lang.String title, java.lang.String charset)
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.java.lang.Object
getAttribute(java.lang.String name)
Allows the user to retrieve specific attributes on the underlying implementation.javax.xml.transform.ErrorListener
getErrorListener()
Get the error listener in effect for the TransformerFactory.boolean
getFeature(java.lang.String name)
Look up the value of a feature.javax.xml.transform.URIResolver
getURIResolver()
Get the object that will be used to resolve URIs used in xsl:import, etc.boolean
isSecureProcessing()
Return the state of the secure processing feature.javax.xml.transform.Templates
newTemplates(javax.xml.transform.Source source)
Process the source into a Templates object, which is likely a compiled representation of the source.javax.xml.transform.sax.TemplatesHandler
newTemplatesHandler()
Create a new Transformer object that performs a copy of the source to the result.javax.xml.transform.Transformer
newTransformer()
Create a new Transformer object that performs a copy of the source to the result.javax.xml.transform.Transformer
newTransformer(javax.xml.transform.Source source)
Process the source into a Transformer object.javax.xml.transform.sax.TransformerHandler
newTransformerHandler()
Get a TransformerHandler object that can process SAX ContentHandler events into a Result.javax.xml.transform.sax.TransformerHandler
newTransformerHandler(javax.xml.transform.Source src)
Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the transformation instructions specified by the argument.javax.xml.transform.sax.TransformerHandler
newTransformerHandler(javax.xml.transform.Templates templates)
Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument.org.xml.sax.XMLFilter
newXMLFilter(javax.xml.transform.Source src)
Create an XMLFilter that uses the given source as the transformation instructions.org.xml.sax.XMLFilter
newXMLFilter(javax.xml.transform.Templates templates)
Create an XMLFilter that uses the given source as the transformation instructions.javax.xml.transform.Templates
processFromNode(org.w3c.dom.Node node)
void
setAttribute(java.lang.String name, java.lang.Object value)
Allows the user to set specific attributes on the underlying implementation.void
setErrorListener(javax.xml.transform.ErrorListener listener)
Set an error listener for the TransformerFactory.void
setFeature(java.lang.String name, boolean value)
Set a feature for thisTransformerFactory
andTransformer
s orTemplate
s created by this factory.void
setURIResolver(javax.xml.transform.URIResolver resolver)
Set an object that will be used to resolve URIs used in xsl:import, etc.
-
-
-
Field Detail
-
XSLT_PROPERTIES
public static final java.lang.String XSLT_PROPERTIES
The path/filename of the property file: XSLTInfo.properties Maintenance note: see alsoorg.apache.xpath.functions.FuncSystemProperty.XSLT_PROPERTIES
- See Also:
- Constant Field Values
-
FEATURE_INCREMENTAL
public static final java.lang.String FEATURE_INCREMENTAL
Static string to be used for incremental feature- See Also:
- Constant Field Values
-
FEATURE_OPTIMIZE
public static final java.lang.String FEATURE_OPTIMIZE
Static string to be used for optimize feature- See Also:
- Constant Field Values
-
FEATURE_SOURCE_LOCATION
public static final java.lang.String FEATURE_SOURCE_LOCATION
Static string to be used for source_location feature- See Also:
- Constant Field Values
-
-
Method Detail
-
processFromNode
public javax.xml.transform.Templates processFromNode(org.w3c.dom.Node node) throws javax.xml.transform.TransformerConfigurationException
- Throws:
javax.xml.transform.TransformerConfigurationException
-
getAssociatedStylesheet
public javax.xml.transform.Source getAssociatedStylesheet(javax.xml.transform.Source source, java.lang.String media, java.lang.String title, java.lang.String charset) throws javax.xml.transform.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 classjavax.xml.transform.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:
javax.xml.transform.TransformerConfigurationException
-
newTemplatesHandler
public javax.xml.transform.sax.TemplatesHandler newTemplatesHandler() throws javax.xml.transform.TransformerConfigurationException
Create a new Transformer object that performs a copy of the source to the result.- Specified by:
newTemplatesHandler
in classjavax.xml.transform.sax.SAXTransformerFactory
- Returns:
- A Transformer object that may be used to perform a transformation in a single thread, never null.
- Throws:
javax.xml.transform.TransformerConfigurationException
- May throw this during the parse when it is constructing the Templates object and fails.
-
setFeature
public void setFeature(java.lang.String name, boolean value) throws javax.xml.transform.TransformerConfigurationException
Set a feature for this
TransformerFactory
andTransformer
s orTemplate
s created by this factory.Feature names are fully qualified
URI
s. Implementations may define their own features. AnTransformerConfigurationException
is thrown if thisTransformerFactory
or theTransformer
s orTemplate
s it creates cannot support the feature. It is possible for anTransformerFactory
to expose a feature value but be unable to change its state.See
TransformerFactory
for full documentation of specific features.- Specified by:
setFeature
in classjavax.xml.transform.TransformerFactory
- Parameters:
name
- Feature name.value
- Is feature statetrue
orfalse
.- Throws:
javax.xml.transform.TransformerConfigurationException
- if thisTransformerFactory
or theTransformer
s orTemplate
s it creates cannot support this feature.java.lang.NullPointerException
- If thename
parameter is null.
-
getFeature
public boolean getFeature(java.lang.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 classjavax.xml.transform.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(java.lang.String name, java.lang.Object value) throws java.lang.IllegalArgumentException
Allows the user to set specific attributes on the underlying implementation.- Specified by:
setAttribute
in classjavax.xml.transform.TransformerFactory
- Parameters:
name
- The name of the attribute.value
- The value of the attribute; Boolean or String="true"|"false"- Throws:
java.lang.IllegalArgumentException
- thrown if the underlying implementation doesn't recognize the attribute.
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name) throws java.lang.IllegalArgumentException
Allows the user to retrieve specific attributes on the underlying implementation.- Specified by:
getAttribute
in classjavax.xml.transform.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.
-
newXMLFilter
public org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Source src) throws javax.xml.transform.TransformerConfigurationException
Create an XMLFilter that uses the given source as the transformation instructions.- Specified by:
newXMLFilter
in classjavax.xml.transform.sax.SAXTransformerFactory
- Parameters:
src
- The source of the transformation instructions.- Returns:
- An XMLFilter object, or null if this feature is not supported.
- Throws:
javax.xml.transform.TransformerConfigurationException
-
newXMLFilter
public org.xml.sax.XMLFilter newXMLFilter(javax.xml.transform.Templates templates) throws javax.xml.transform.TransformerConfigurationException
Create an XMLFilter that uses the given source as the transformation instructions.- Specified by:
newXMLFilter
in classjavax.xml.transform.sax.SAXTransformerFactory
- Parameters:
templates
- non-null reference to Templates object.- Returns:
- An XMLFilter object, or null if this feature is not supported.
- Throws:
javax.xml.transform.TransformerConfigurationException
-
newTransformerHandler
public javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Source src) throws javax.xml.transform.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 classjavax.xml.transform.sax.SAXTransformerFactory
- Parameters:
src
- The source of the transformation instructions.- Returns:
- TransformerHandler ready to transform SAX events.
- Throws:
javax.xml.transform.TransformerConfigurationException
-
newTransformerHandler
public javax.xml.transform.sax.TransformerHandler newTransformerHandler(javax.xml.transform.Templates templates) throws javax.xml.transform.TransformerConfigurationException
Get a TransformerHandler object that can process SAX ContentHandler events into a Result, based on the Templates argument.- Specified by:
newTransformerHandler
in classjavax.xml.transform.sax.SAXTransformerFactory
- Parameters:
templates
- The source of the transformation instructions.- Returns:
- TransformerHandler ready to transform SAX events.
- Throws:
javax.xml.transform.TransformerConfigurationException
-
newTransformerHandler
public javax.xml.transform.sax.TransformerHandler newTransformerHandler() throws javax.xml.transform.TransformerConfigurationException
Get a TransformerHandler object that can process SAX ContentHandler events into a Result.- Specified by:
newTransformerHandler
in classjavax.xml.transform.sax.SAXTransformerFactory
- Returns:
- TransformerHandler ready to transform SAX events.
- Throws:
javax.xml.transform.TransformerConfigurationException
-
newTransformer
public javax.xml.transform.Transformer newTransformer(javax.xml.transform.Source source) throws javax.xml.transform.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 classjavax.xml.transform.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:
javax.xml.transform.TransformerConfigurationException
- May throw this during the parse when it is constructing the Templates object and fails.
-
newTransformer
public javax.xml.transform.Transformer newTransformer() throws javax.xml.transform.TransformerConfigurationException
Create a new Transformer object that performs a copy of the source to the result.- Specified by:
newTransformer
in classjavax.xml.transform.TransformerFactory
- Returns:
- A Transformer object capable of being used for transformation purposes in a single thread.
- Throws:
javax.xml.transform.TransformerConfigurationException
- May throw this during the parse when it is constructing the Templates object and it fails.
-
newTemplates
public javax.xml.transform.Templates newTemplates(javax.xml.transform.Source source) throws javax.xml.transform.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 classjavax.xml.transform.TransformerFactory
- Parameters:
source
- An object that holds a URL, input stream, etc.- Returns:
- A Templates object capable of being used for transformation purposes.
- Throws:
javax.xml.transform.TransformerConfigurationException
- May throw this during the parse when it is constructing the Templates object and fails.
-
setURIResolver
public void setURIResolver(javax.xml.transform.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 classjavax.xml.transform.TransformerFactory
- Parameters:
resolver
- An object that implements the URIResolver interface, or null.
-
getURIResolver
public javax.xml.transform.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 classjavax.xml.transform.TransformerFactory
- Returns:
- The URIResolver that was set with setURIResolver.
-
getErrorListener
public javax.xml.transform.ErrorListener getErrorListener()
Get the error listener in effect for the TransformerFactory.- Specified by:
getErrorListener
in classjavax.xml.transform.TransformerFactory
- Returns:
- A non-null reference to an error listener.
-
setErrorListener
public void setErrorListener(javax.xml.transform.ErrorListener listener) throws java.lang.IllegalArgumentException
Set an error listener for the TransformerFactory.- Specified by:
setErrorListener
in classjavax.xml.transform.TransformerFactory
- Parameters:
listener
- Must be a non-null reference to an ErrorListener.- Throws:
java.lang.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.
-
-