public class XSLTransformer
extends java.lang.Object
JDOMSource
and
JDOMResult
for advanced uses. This class handles the common case and
presents a simple interface. XSLTransformer is thread safe and may be
used from multiple threads.
XSLTransformer transformer = new XSLTransformer("file.xsl");
Document x2 = transformer.transform(x); // x is a Document
Document y2 = transformer.transform(y); // y is a Document
JDOM relies on TrAX to perform the transformation.
The javax.xml.transform.TransformerFactory
Java system property
determines which XSLT engine TrAX uses. Its value should be
the fully qualified name of the implementation of the abstract
javax.xml.transform.TransformerFactory
class.
Values of this property for popular XSLT processors include:
com.icl.saxon.TransformerFactoryImpl
net.sf.saxon.TransformerFactoryImpl
org.apache.xalan.processor.TransformerFactoryImpl
jd.xml.xslt.trax.TransformerFactoryImpl
oracle.xml.jaxp.JXSAXTransformerFactory
This property can be set in all the usual ways a Java system property can be set. TrAX picks from them in this order:
System.setProperty( "javax.xml.transform.TransformerFactory",
"classname
")
classname
option to the java interpreterlib/jaxp.properties
properties file
in the JRE directory, in a line like this one:
javax.xml.parsers.DocumentBuilderFactory=classname
META-INF/services/javax.xml.transform.TransformerFactory
file
in the JAR archives available to the runtimeConstructor and Description |
---|
XSLTransformer(Document stylesheet)
This will create a new
XSLTransformer by
reading the stylesheet from the specified
Document . |
XSLTransformer(java.io.File stylesheet)
This will create a new
XSLTransformer by
reading the stylesheet from the specified
File . |
XSLTransformer(java.io.InputStream stylesheet)
This will create a new
XSLTransformer by
reading the stylesheet from the specified
InputStream . |
XSLTransformer(java.io.Reader stylesheet)
This will create a new
XSLTransformer by
reading the stylesheet from the specified
Reader . |
XSLTransformer(java.lang.String stylesheetSystemId)
Creates a transformer for a given stylesheet system id.
|
Modifier and Type | Method and Description |
---|---|
JDOMFactory |
getFactory()
Returns the custom JDOMFactory used to build the transformation
result.
|
void |
setFactory(JDOMFactory factory)
Sets a custom JDOMFactory to use when building the
transformation result.
|
Document |
transform(Document inputDoc)
Transforms the given document to an output document.
|
Document |
transform(Document inputDoc,
org.xml.sax.EntityResolver resolver)
Transforms the given document to an output document.
|
java.util.List<Content> |
transform(java.util.List<Content> inputNodes)
Transforms the given input nodes to a list of output nodes.
|
public XSLTransformer(java.lang.String stylesheetSystemId) throws XSLTransformException
stylesheetSystemId
- source stylesheet as a Source objectXSLTransformException
- if there's a problem in the TrAX back-endpublic XSLTransformer(java.io.InputStream stylesheet) throws XSLTransformException
This will create a new XSLTransformer
by
reading the stylesheet from the specified
InputStream
.
stylesheet
- InputStream
from which the stylesheet is read.XSLTransformException
- when an IOException, format error, or
something else prevents the stylesheet from being compiledpublic XSLTransformer(java.io.Reader stylesheet) throws XSLTransformException
This will create a new XSLTransformer
by
reading the stylesheet from the specified
Reader
.
stylesheet
- Reader
from which the stylesheet is read.XSLTransformException
- when an IOException, format error, or
something else prevents the stylesheet from being compiledpublic XSLTransformer(java.io.File stylesheet) throws XSLTransformException
This will create a new XSLTransformer
by
reading the stylesheet from the specified
File
.
stylesheet
- File
from which the stylesheet is read.XSLTransformException
- when an IOException, format error, or
something else prevents the stylesheet from being compiledpublic XSLTransformer(Document stylesheet) throws XSLTransformException
This will create a new XSLTransformer
by
reading the stylesheet from the specified
Document
.
stylesheet
- Document
containing the stylesheet.XSLTransformException
- when the supplied Document
is not syntactically correct XSLTpublic java.util.List<Content> transform(java.util.List<Content> inputNodes) throws XSLTransformException
inputNodes
- input nodesXSLTransformException
- if there's a problem in the transformationpublic Document transform(Document inputDoc) throws XSLTransformException
inputDoc
- input documentXSLTransformException
- if there's a problem in the transformationpublic Document transform(Document inputDoc, org.xml.sax.EntityResolver resolver) throws XSLTransformException
inputDoc
- input documentresolver
- entity resolver for the input documentXSLTransformException
- if there's a problem in the transformationpublic void setFactory(JDOMFactory factory)
factory
- the custom JDOMFactory
to use or
null
to use the default JDOM
classes.getFactory()
public JDOMFactory getFactory()
JDOMFactory
used to build the
transformation result or null
if the
default JDOM classes are being used.setFactory(org.jdom2.JDOMFactory)
Copyright © 2021 Jason Hunter, Brett McLaughlin. All Rights Reserved.