| java.lang.Object nu.xom.xslt.XSLTransform
XSLTransform | final public class XSLTransform (Code) | |
Serves as an interface to a TrAX aware XSLT processor such as Xalan
or Saxon. The following example shows how to apply an XSL
Transformation to a XOM document and get the transformation result
in the form of a XOM Nodes :
public static Nodes transform(Document in)
throws XSLException, ParsingException, IOException {
Builder builder = new Builder();
Document stylesheet = builder.build("mystylesheet.xsl");
XSLTransform transform = new XSLTransform(stylesheet);
return transform.transform(doc);
}
XOM 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:
- Saxon 6.x:
com.icl.saxon.TransformerFactoryImpl
- Saxon 7.x and 8.x:
net.sf.saxon.TransformerFactoryImpl
- Xalan interpretive:
org.apache.xalan.processor.TransformerFactoryImpl
- Xalan XSLTC:
org.apache.xalan.xsltc.trax.TransformerFactoryImpl
- jd.xslt:
jd.xml.xslt.trax.TransformerFactoryImpl
- Oracle:
oracle.xml.jaxp.JXSAXTransformerFactory
- Java 1.5 bundled Xalan:
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
This property can be set in all the usual ways a Java system
property can be set. TrAX picks from them in this order:
- The most recent value specified by invoking
System.setProperty("javax.xml.transform.TransformerFactory",
"classname ")
- The value specified at the command line using the
-Djavax.xml.transform.TransformerFactory=classname
option to the java interpreter
- The class named in the
lib/jaxp.properties
properties file in the JRE directory, in a line like this one:
javax.xml.parsers.DocumentBuilderFactory=classname
- The class named in the
META-INF/services/javax.xml.transform.TransformerFactory
file in the JAR archives available to the runtime
- Finally, if all of the above options fail,
a default implementation is chosen. In Sun's JDK 1.4.0 and 1.4.1,
this is Xalan 2.2d10. In JDK 1.4.2, this is Xalan 2.4.
In JDK 1.4.2_02, this is Xalan 2.4.1.
In JDK 1.4.2_03, 1.5 beta 2, and 1.5 RC1 this is Xalan 2.5.2.
In JDK 1.4.2_05, this is Xalan 2.4.1. (Yes, Sun appears to have
reverted to 2.4.1 in 1.4.2_05.)
author: Elliotte Rusty Harold version: 1.1b3 |
Constructor Summary | |
public | XSLTransform(Document stylesheet)
Creates a new XSLTransform by
reading the stylesheet from the supplied document. | public | XSLTransform(Document stylesheet, NodeFactory factory)
Creates a new XSLTransform by
reading the stylesheet from the supplied document.
The supplied factory will be used to create all nodes
in the result tree, so that a transform can create
instances of subclasses of the standard XOM classes. |
Method Summary | |
public void | setParameter(String name, Object value)
Supply a parameter to transformations performed by this object.
The value is normally a Boolean ,
Double , or String . | public void | setParameter(String name, String namespace, Object value)
Supply a parameter to transformations performed by this object.
The value is normally a Boolean ,
Double , or String . | public static Document | toDocument(Nodes nodes)
Builds a Document object from a
Nodes object. | public String | toString()
Returns a string form of this XSLTransform ,
suitable for debugging. | public Nodes | transform(Document in)
Creates a new Nodes from the
input Document by applying this object's
stylesheet. | public Nodes | transform(Nodes in)
Creates a new Nodes object from the
input Nodes object by applying this object's
stylesheet. |
XSLTransform | public XSLTransform(Document stylesheet) throws XSLException(Code) | |
Creates a new XSLTransform by
reading the stylesheet from the supplied document.
Parameters: stylesheet - document containing the stylesheet throws: XSLException - when the supplied documentis not syntactically correct XSLT |
XSLTransform | public XSLTransform(Document stylesheet, NodeFactory factory) throws XSLException(Code) | |
Creates a new XSLTransform by
reading the stylesheet from the supplied document.
The supplied factory will be used to create all nodes
in the result tree, so that a transform can create
instances of subclasses of the standard XOM classes.
Because an XSL transformation generates a list of nodes rather
than a document, the factory's startMakingDocument
and finishMakingDocument methods are not called.
Parameters: stylesheet - document containing the stylesheet Parameters: factory - the factory used to build nodes in the result tree throws: XSLException - when the supplied documentis not syntactically correct XSLT |
setParameter | public void setParameter(String name, Object value)(Code) | |
Supply a parameter to transformations performed by this object.
The value is normally a Boolean ,
Double , or String . However, it may be
another type if the underlying XSLT processor supports that
type. Passing null for the value removes the parameter.
Parameters: name - the name of the parameter Parameters: value - the value of the parameter |
setParameter | public void setParameter(String name, String namespace, Object value)(Code) | |
Supply a parameter to transformations performed by this object.
The value is normally a Boolean ,
Double , or String . However, it may be
another type if the underlying XSLT processor supports that
type. Passing null for the value removes the parameter.
Parameters: name - the name of the parameter Parameters: namespace - the namespace URI of the parameter Parameters: value - the value of the parameter |
toDocument | public static Document toDocument(Nodes nodes)(Code) | |
Builds a Document object from a
Nodes object. This is useful when the stylesheet
is known to produce a well-formed document with a single root
element. That is, the Node returned contains
only comments, processing instructions, and exactly one
element. If the stylesheet produces anything else,
this method throws XMLException .
Parameters: nodes - the nodes to be placed in the new document a document containing the nodes throws: XMLException - if nodes does not containexactly one element or if it contains any text nodes orattributes |
toString | public String toString()(Code) | |
Returns a string form of this XSLTransform ,
suitable for debugging.
debugging string |
transform | public Nodes transform(Document in) throws XSLException(Code) | |
Creates a new Nodes from the
input Document by applying this object's
stylesheet. The original Document is not
changed.
Parameters: in - document to transform a Nodes containing the result of thetransformation throws: XSLException - if the transformation fails, normallydue to an XSLT error |
transform | public Nodes transform(Nodes in) throws XSLException(Code) | |
Creates a new Nodes object from the
input Nodes object by applying this object's
stylesheet. The original Nodes object is not
changed.
Parameters: in - document to transform a Nodes containing the result of the transformation throws: XSLException - if the transformation fails, normallydue to an XSLT error |
|
|