Package org.apache.xalan.xsltc.trax
Class TransformerImpl
java.lang.Object
javax.xml.transform.Transformer
org.apache.xalan.xsltc.trax.TransformerImpl
- All Implemented Interfaces:
ErrorListener
,DOMCache
- Author:
- Morten Jorgensen, G. Todd Miller, Santiago Pericas-Geertsen
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Implements JAXP's Transformer.clearParameters() Clear all parameters set with setParameter.void
Receive notification of a recoverable error.void
Receive notification of a non-recoverable error.Implements JAXP's Transformer.getErrorListener() Get the error event handler in effect for the transformation.getOutputHandler
(Result result) Create an output handler for the transformation output based on the type and contents of the TrAX Result object passed to the transform() method.Implements JAXP's Transformer.getOutputProperties().getOutputProperty
(String name) Implements JAXP's Transformer.getOutputProperty().final Object
getParameter
(String name) Implements JAXP's Transformer.getParameter() Returns the value of a given parameter.Implements JAXP's Transformer.getURIResolver() Set the object currently used to resolve URIs used in document().boolean
boolean
Return the state of the secure processing feature.void
reset()
This method resets the Transformer to its original configuration Transformer code is reset to the same state it was when it was createdretrieveDocument
(String baseURI, String href, Translet translet) This class should only be used as a DOMCache for the translet if the URIResolver has been set.void
setErrorListener
(ErrorListener listener) Implements JAXP's Transformer.setErrorListener() Set the error event listener in effect for the transformation.void
setOutputProperties
(Properties properties) Implements JAXP's Transformer.setOutputProperties().void
setOutputProperty
(String name, String value) Implements JAXP's Transformer.setOutputProperty().void
setParameter
(String name, Object value) Implements JAXP's Transformer.setParameter() Add a parameter for the transformation.void
setSecureProcessing
(boolean flag) Set the state of the secure processing feature.void
setURIResolver
(URIResolver resolver) Implements JAXP's Transformer.setURIResolver() Set an object that will be used to resolve URIs used in document().void
This method is used to pass any properties to the output handler when running the identity transform.void
Implements JAXP's Transformer.transform()void
Receive notification of a warning.
-
Method Details
-
isSecureProcessing
public boolean isSecureProcessing()Return the state of the secure processing feature. -
setSecureProcessing
public void setSecureProcessing(boolean flag) Set the state of the secure processing feature. -
isIdentity
public boolean isIdentity() -
transform
Implements JAXP's Transformer.transform()- Specified by:
transform
in classTransformer
- Parameters:
source
- Contains the input XML documentresult
- Will contain the output from the transformation- Throws:
TransformerException
-
getOutputHandler
Create an output handler for the transformation output based on the type and contents of the TrAX Result object passed to the transform() method.- Throws:
TransformerException
-
getErrorListener
Implements JAXP's Transformer.getErrorListener() Get the error event handler in effect for the transformation.- Specified by:
getErrorListener
in classTransformer
- Returns:
- The error event handler currently in effect
-
setErrorListener
Implements JAXP's Transformer.setErrorListener() Set the error event listener in effect for the transformation. Register a message handler in the translet in order to forward xsl:messages to error listener.- Specified by:
setErrorListener
in classTransformer
- Parameters:
listener
- The error event listener to use- Throws:
IllegalArgumentException
-
getOutputProperties
Implements JAXP's Transformer.getOutputProperties(). Returns a copy of the output properties for the transformation. This is a set of layered properties. The first layer contains properties set by calls to setOutputProperty() and setOutputProperties() on this class, and the output settings defined in the stylesheet's invalid input: '<'xsl:output> element makes up the second level, while the default XSLT output settings are returned on the third level.- Specified by:
getOutputProperties
in classTransformer
- Returns:
- Properties in effect for this Transformer
-
getOutputProperty
Implements JAXP's Transformer.getOutputProperty(). Get an output property that is in effect for the transformation. The property specified may be a property that was set with setOutputProperty, or it may be a property specified in the stylesheet.- Specified by:
getOutputProperty
in classTransformer
- Parameters:
name
- A non-null string that contains the name of the property- Throws:
IllegalArgumentException
- if the property name is not known
-
setOutputProperties
Implements JAXP's Transformer.setOutputProperties(). Set the output properties for the transformation. These properties will override properties set in the Templates with xsl:output. Unrecognised properties will be quitely ignored.- Specified by:
setOutputProperties
in classTransformer
- Parameters:
properties
- The properties to use for the Transformer- Throws:
IllegalArgumentException
- Never, errors are ignored
-
setOutputProperty
Implements JAXP's Transformer.setOutputProperty(). Get an output property that is in effect for the transformation. The property specified may be a property that was set with setOutputProperty(), or it may be a property specified in the stylesheet.- Specified by:
setOutputProperty
in classTransformer
- Parameters:
name
- The name of the property to setvalue
- The value to assign to the property- Throws:
IllegalArgumentException
- Never, errors are ignored
-
transferOutputProperties
This method is used to pass any properties to the output handler when running the identity transform. -
setParameter
Implements JAXP's Transformer.setParameter() Add a parameter for the transformation. The parameter is simply passed on to the translet - no validation is performed - so any unused parameters are quitely ignored by the translet.- Specified by:
setParameter
in classTransformer
- Parameters:
name
- The name of the parametervalue
- The value to assign to the parameter
-
clearParameters
public void clearParameters()Implements JAXP's Transformer.clearParameters() Clear all parameters set with setParameter. Clears the translet's parameter stack.- Specified by:
clearParameters
in classTransformer
-
getParameter
Implements JAXP's Transformer.getParameter() Returns the value of a given parameter. Note that the translet will not keep values for parameters that were not defined in the stylesheet.- Specified by:
getParameter
in classTransformer
- Parameters:
name
- The name of the parameter- Returns:
- An object that contains the value assigned to the parameter
-
getURIResolver
Implements JAXP's Transformer.getURIResolver() Set the object currently used to resolve URIs used in document().- Specified by:
getURIResolver
in classTransformer
- Returns:
- The URLResolver object currently in use
-
setURIResolver
Implements JAXP's Transformer.setURIResolver() Set an object that will be used to resolve URIs used in document().- Specified by:
setURIResolver
in classTransformer
- Parameters:
resolver
- The URIResolver to use in document()
-
retrieveDocument
This class should only be used as a DOMCache for the translet if the URIResolver has been set. The method implements XSLTC's DOMCache interface, which is used to plug in an external document loader into a translet. This method acts as an adapter between TrAX's URIResolver interface and XSLTC's DOMCache interface. This approach is simple, but removes the possibility of using external document caches with XSLTC.- Specified by:
retrieveDocument
in interfaceDOMCache
- Parameters:
baseURI
- The base URI used by the document call.href
- The href argument passed to the document function.translet
- A reference to the translet requesting the document
-
error
Receive notification of a recoverable error. The transformer must continue to provide normal parsing events after invoking this method. It should still be possible for the application to process the document through to the end.- Specified by:
error
in interfaceErrorListener
- Parameters:
e
- The warning information encapsulated in a transformer exception.- Throws:
TransformerException
- if the application chooses to discontinue the transformation (always does in our case).
-
fatalError
Receive notification of a non-recoverable error. The application must assume that the transformation cannot continue after the Transformer has invoked this method, and should continue (if at all) only to collect addition error messages. In fact, Transformers are free to stop reporting events once this method has been invoked.- Specified by:
fatalError
in interfaceErrorListener
- Parameters:
e
- The warning information encapsulated in a transformer exception.- Throws:
TransformerException
- if the application chooses to discontinue the transformation (always does in our case).
-
warning
Receive notification of a warning. Transformers can use this method to report conditions that are not errors or fatal errors. The default behaviour is to take no action. After invoking this method, the Transformer must continue with the transformation. It should still be possible for the application to process the document through to the end.- Specified by:
warning
in interfaceErrorListener
- Parameters:
e
- The warning information encapsulated in a transformer exception.- Throws:
TransformerException
- if the application chooses to discontinue the transformation (never does in our case).
-
reset
public void reset()This method resets the Transformer to its original configuration Transformer code is reset to the same state it was when it was created- Overrides:
reset
in classTransformer
- Since:
- 1.5
-