public class TransformerImpl extends IdentityTransformer
Since Saxon 9.6, JAXP interfaces are implemented as a layer above the s9api interface
Modifier | Constructor and Description |
---|---|
protected |
TransformerImpl(XsltExecutable e,
XsltTransformer t) |
Modifier and Type | Method and Description |
---|---|
void |
clearParameters()
Clear all parameters set with setParameter.
|
java.lang.Object |
getParameter(java.lang.String name)
Get a parameter that was explicitly set with setParameter.
|
protected java.util.Properties |
getStylesheetOutputProperties()
Get the output properties defined in the unnamed xsl:output declaration(s) within
the stylesheet
|
Controller |
getUnderlyingController()
Get the internal Saxon Controller instance that implements this transformation.
|
XsltExecutable |
getUnderlyingXsltExecutable()
Get the underlying s9api implementation class representing the compled stylesheet
which this transformer is executing
|
XsltTransformer |
getUnderlyingXsltTransformer()
Get the underlying s9api implementation class wrapped by this JAXP Transformer
|
protected Destination |
makeDestination(javax.xml.transform.Result outputTarget) |
javax.xml.transform.sax.TransformerHandler |
newTransformerHandler()
Create a JAXP TransformerHandler to perform the transformation
|
org.xml.sax.XMLFilter |
newXMLFilter()
Create a JAXP XMLFilter which allows this transformation to be added to a SAX pipeline
|
void |
reset()
Reset this
Transformer to its original configuration. |
protected void |
setConvertedParameter(QName name,
XdmValue value) |
void |
setErrorListener(javax.xml.transform.ErrorListener listener)
Set the error event listener in effect for the transformation.
|
void |
setInitialMode(java.lang.String name)
Supply an initial mode for a transformation.
|
void |
setInitialTemplate(java.lang.String name)
Supply an initial template for a transformation.
|
void |
setParameter(java.lang.String name,
java.lang.Object value)
Add a parameter for the transformation.
|
void |
setURIResolver(javax.xml.transform.URIResolver resolver)
Set an object that will be used to resolve URIs used in
document().
|
void |
transform(javax.xml.transform.Source xmlSource,
javax.xml.transform.Result outputTarget)
Transform the XML
Source to a Result . |
getConfiguration, getErrorListener, getLocalOutputProperties, getOutputProperties, getOutputProperty, getURIResolver, reportFatalError, setOutputProperties, setOutputProperty
protected TransformerImpl(XsltExecutable e, XsltTransformer t)
public void transform(javax.xml.transform.Source xmlSource, javax.xml.transform.Result outputTarget) throws XPathException
Transform the XML Source
to a Result
.
Specific transformation behavior is determined by the settings of the
TransformerFactory
in effect when the
Transformer
was instantiated and any modifications made to
the Transformer
instance.
An empty Source
is represented as an empty document
as constructed by DocumentBuilder.newDocument()
.
The result of transforming an empty Source
depends on
the transformation behavior; it is not always an empty
Result
.
transform
in class IdentityTransformer
xmlSource
- The XML input to transform.outputTarget
- The Result
of transforming the
xmlSource
.XPathException
- If an unrecoverable error occurs
during the course of the transformation.public void clearParameters()
public void setURIResolver(javax.xml.transform.URIResolver resolver)
If the resolver argument is null, the URIResolver value will be cleared and the transformer will no longer have a resolver.
setURIResolver
in class IdentityTransformer
resolver
- An object that implements the URIResolver interface,
or null.public void setErrorListener(javax.xml.transform.ErrorListener listener) throws java.lang.IllegalArgumentException
setErrorListener
in class IdentityTransformer
listener
- The new error listener.java.lang.IllegalArgumentException
- if listener is null.public void setInitialTemplate(java.lang.String name) throws java.lang.IllegalArgumentException
This is a Saxon extension to the JAXP interface, needed for XSLT 2.0
name
- the name of the initial template, in Clark notation (either a local name,
or "{uri}local")java.lang.IllegalArgumentException
- if the argument is invalid, for example if the
format of the name is incorrect or if there is no template with this namepublic void setInitialMode(java.lang.String name) throws java.lang.IllegalArgumentException
This is a Saxon extension to the JAXP interface, needed for XSLT 2.0
name
- the name of the initial mode, in Clark notation (either a local name,
or "{uri}local")java.lang.IllegalArgumentException
- if the argument is invalid, for example if the
format of the name is incorrect or if there is no mode with this namepublic XsltTransformer getUnderlyingXsltTransformer()
public Controller getUnderlyingController()
public javax.xml.transform.sax.TransformerHandler newTransformerHandler()
public org.xml.sax.XMLFilter newXMLFilter()
public void reset()
IdentityTransformer
Reset this Transformer
to its original configuration.
Transformer
is reset to the same state as when it was created with
TransformerFactory.newTransformer()
,
TransformerFactory.newTransformer(javax.xml.transform.Source source)
or
Templates.newTransformer()
.
reset()
is designed to allow the reuse of existing Transformer
s
thus saving resources associated with the creation of new Transformer
s.
The reset Transformer
is not guaranteed to have the same URIResolver
or ErrorListener
Object
s, e.g. Object.equals(Object obj)
.
It is guaranteed to have a functionally equal URIResolver
and ErrorListener
.
reset
in class IdentityTransformer
protected Destination makeDestination(javax.xml.transform.Result outputTarget) throws XPathException
XPathException
public void setParameter(java.lang.String name, java.lang.Object value)
Pass a qualified name as a two-part string, the namespace URI enclosed in curly braces ({}), followed by the local name. If the name has a null URL, the String only contain the local name. An application can safely check for a non-null URI by testing to see if the first character of the name is a '{' character.
For example, if a URI and local name were obtained from an element defined with <xyz:foo xmlns:xyz="http://xyz.foo.com/yada/baz.html"/>, then the qualified name would be "{http://xyz.foo.com/yada/baz.html}foo". Note that no prefix is used.
setParameter
in class IdentityTransformer
name
- The name of the parameter, which may begin with a
namespace URI in curly braces ({}).value
- The value object. This can be any valid Java object. It is
up to the processor to provide the proper object coersion or to simply
pass the object on for use in an extension.java.lang.NullPointerException
- If value is null.java.lang.IllegalArgumentException
- If the supplied value cannot be converted to the declared
type of the corresponding stylesheet parameterpublic java.lang.Object getParameter(java.lang.String name)
This method does not return a default parameter value, which cannot be determined until the node context is evaluated during the transformation process.
getParameter
in class IdentityTransformer
name
- of Object
to getprotected java.util.Properties getStylesheetOutputProperties()
getStylesheetOutputProperties
in class IdentityTransformer
public XsltExecutable getUnderlyingXsltExecutable()
Copyright (c) 2004-2018 Saxonica Limited. All rights reserved.