org.apache.xalan.processor

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 Summary

static String
FEATURE_INCREMENTAL
Static string to be used for incremental feature
static String
FEATURE_OPTIMIZE
Static string to be used for optimize feature
static String
FEATURE_SOURCE_LOCATION
Static string to be used for source_location feature
static String
XSLT_PROPERTIES
The path/filename of the property file: XSLTInfo.properties Maintenance note: see also org.apache.xpath.functions.FuncSystemProperty.XSLT_PROPERTIES
static boolean
m_optimize
static boolean
m_source_location
Flag set by FEATURE_SOURCE_LOCATION.

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

FEATURE, FEATURE_XMLFILTER

Constructor Summary

TransformerFactoryImpl()
Constructor TransformerFactoryImpl

Method Summary

Source
getAssociatedStylesheet(Source source, String media, String title, 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.
Object
getAttribute(String name)
Allows the user to retrieve specific attributes on the underlying implementation.
ErrorListener
getErrorListener()
Get the error listener in effect for the TransformerFactory.
boolean
getFeature(String name)
Look up the value of a feature.
URIResolver
getURIResolver()
Get the object that will be used to resolve URIs used in xsl:import, etc.
Templates
newTemplates(Source source)
Process the source into a Templates object, which is likely a compiled representation of the source.
TemplatesHandler
newTemplatesHandler()
Create a new Transformer object that performs a copy of the source to the result.
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 that uses the given source as the transformation instructions.
Templates
processFromNode(Node node)
void
setAttribute(String name, Object value)
Allows the user to set specific attributes on the underlying implementation.
void
setErrorListener(ErrorListener listener)
Set an error listener for the TransformerFactory.
void
setURIResolver(URIResolver resolver)
Set an object that will be used to resolve URIs used in xsl:import, etc.

Methods inherited from class javax.xml.transform.sax.SAXTransformerFactory

newTemplatesHandler, newTransformerHandler, newTransformerHandler, newTransformerHandler, newXMLFilter, newXMLFilter

Methods inherited from class javax.xml.transform.TransformerFactory

getAssociatedStylesheet, getAttribute, getErrorListener, getFeature, getURIResolver, newInstance, newTemplates, newTransformer, newTransformer, setAttribute, setErrorListener, setURIResolver

Field Details

FEATURE_INCREMENTAL

public static final String FEATURE_INCREMENTAL
Static string to be used for incremental feature

FEATURE_OPTIMIZE

public static final String FEATURE_OPTIMIZE
Static string to be used for optimize feature

FEATURE_SOURCE_LOCATION

public static final String FEATURE_SOURCE_LOCATION
Static string to be used for source_location feature

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

m_optimize

public static boolean m_optimize

m_source_location

public static boolean m_source_location
Flag set by FEATURE_SOURCE_LOCATION. This feature specifies whether the transformation phase should keep track of line and column numbers for the input source document. Note that this works only when that information is available from the source -- in other words, if you pass in a DOM, there's little we can do for you. The default is false. Setting it true may significantly increase storage cost per node.

Constructor Details

TransformerFactoryImpl

public TransformerFactoryImpl()
Constructor TransformerFactoryImpl

Method Details

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.

Overrides:
getAssociatedStylesheet in interface 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.

getAttribute

public Object getAttribute(String name)
            throws IllegalArgumentException
Allows the user to retrieve specific attributes on the underlying implementation.
Overrides:
getAttribute in interface TransformerFactory
Parameters:
name - The name of the attribute.
Returns:
value The value of the attribute.

getErrorListener

public ErrorListener getErrorListener()
Get the error listener in effect for the TransformerFactory.
Overrides:
getErrorListener in interface TransformerFactory
Returns:
A non-null reference to an error listener.

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.

Overrides:
getFeature in interface TransformerFactory
Parameters:
name - The feature name, which is a fully-qualified URI.
Returns:
The current state of the feature (true or false).

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.
Overrides:
getURIResolver in interface TransformerFactory
Returns:
The URIResolver that was set with setURIResolver.

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.
Overrides:
newTemplates in interface 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.

newTemplatesHandler

public TemplatesHandler newTemplatesHandler()
            throws TransformerConfigurationException
Create a new Transformer object that performs a copy of the source to the result.
Overrides:
newTemplatesHandler in interface SAXTransformerFactory
Parameters:
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.

newTransformer

public Transformer newTransformer()
            throws TransformerConfigurationException
Create a new Transformer object that performs a copy of the source to the result.
Overrides:
newTransformer in interface TransformerFactory
Parameters:
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.

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.
Overrides:
newTransformer in interface 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.

newTransformerHandler

public TransformerHandler newTransformerHandler()
            throws TransformerConfigurationException
Get a TransformerHandler object that can process SAX ContentHandler events into a Result.
Overrides:
newTransformerHandler in interface SAXTransformerFactory
Parameters:
Returns:
TransformerHandler ready to transform SAX events.

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.
Overrides:
newTransformerHandler in interface SAXTransformerFactory
Parameters:
src - The source of the transformation instructions.
Returns:
TransformerHandler ready to transform SAX events.

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.
Overrides:
newTransformerHandler in interface SAXTransformerFactory
Parameters:
templates - The source of the transformation instructions.
Returns:
TransformerHandler ready to transform SAX events.

newXMLFilter

public XMLFilter newXMLFilter(Source src)
            throws TransformerConfigurationException
Create an XMLFilter that uses the given source as the transformation instructions.
Overrides:
newXMLFilter in interface SAXTransformerFactory
Parameters:
src - The source of the transformation instructions.
Returns:
An XMLFilter object, or null if this feature is not supported.

newXMLFilter

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

processFromNode

public Templates processFromNode(Node node)
            throws TransformerConfigurationException

setAttribute

public void setAttribute(String name,
                         Object value)
            throws IllegalArgumentException
Allows the user to set specific attributes on the underlying implementation.
Overrides:
setAttribute in interface TransformerFactory
Parameters:
name - The name of the attribute.
value - The value of the attribute; Boolean or String="true"|"false"

setErrorListener

public void setErrorListener(ErrorListener listener)
            throws IllegalArgumentException
Set an error listener for the TransformerFactory.
Overrides:
setErrorListener in interface TransformerFactory
Parameters:
listener - Must be a non-null reference to an ErrorListener.

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.
Overrides:
setURIResolver in interface TransformerFactory
Parameters:
resolver - An object that implements the URIResolver interface, or null.

Copyright B) 2004 Apache XML Project. All Rights Reserved.