Class JDOMResult
- All Implemented Interfaces:
Result
The following example shows how to apply an XSL Transformation to a JDOM document and get the transformation result in the form of a list of JDOM nodes:
public static List transform(Document doc, String stylesheet)
throws JDOMException {
try {
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(new StreamSource(stylesheet));
JDOMSource in = new JDOMSource(doc);
JDOMResult out = new JDOMResult();
transformer.transform(in, out);
return out.getResult();
}
catch (TransformerException e) {
throw new JDOMException("XSLT Transformation failed", e);
}
}
- Author:
- Laurent Bihanic, Jason Hunter
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
IfTransformerFactory.getFeature(java.lang.String)
returnstrue
when passed this value as an argument, the Transformer natively supports JDOM.Fields inherited from interface javax.xml.transform.Result
PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the result of an XSL Transformation as a JDOM document.Returns the custom JDOMFactory used to build the transformation result.Returns the result of an XSL Transformation as a list of JDOM nodes.void
setDocument
(Document document) Sets the document produced as result of an XSL Transformation.void
setFactory
(JDOMFactory factory) Sets a custom JDOMFactory to use when building the transformation result.void
setHandler
(ContentHandler handler) Sets the target to be a SAX2 ContentHandler.void
setLexicalHandler
(LexicalHandler handler) Sets the SAX2 LexicalHandler for the output.void
Sets the object(s) produced as result of an XSL Transformation.Methods inherited from class javax.xml.transform.sax.SAXResult
getHandler, getLexicalHandler, getSystemId, setSystemId
-
Field Details
-
JDOM_FEATURE
IfTransformerFactory.getFeature(java.lang.String)
returnstrue
when passed this value as an argument, the Transformer natively supports JDOM.Note: This implementation does not override the
SAXResult.FEATURE
value defined by its superclass to be considered as a SAXResult by Transformer implementations not natively supporting JDOM.- See Also:
-
-
Constructor Details
-
JDOMResult
public JDOMResult()Public default constructor.
-
-
Method Details
-
setResult
Sets the object(s) produced as result of an XSL Transformation.Note: This method shall be used by the
Transformer
implementations that natively support JDOM to directly set the transformation result rather than considering this object as aSAXResult
. Applications should not use this method.- Parameters:
result
- the result of a transformation as alist
of JDOM nodes (Elements, Texts, Comments, PIs...).- See Also:
-
getResult
Returns the result of an XSL Transformation as a list of JDOM nodes.If the result of the transformation is a JDOM document, this method converts it into a list of JDOM nodes; any subsequent call to
getDocument()
will returnnull
.- Returns:
- the transformation result as a (possibly empty) list of JDOM nodes (Elements, Texts, Comments, PIs...).
-
setDocument
Sets the document produced as result of an XSL Transformation.Note: This method shall be used by the
Transformer
implementations that natively support JDOM to directly set the transformation result rather than considering this object as aSAXResult
. Applications should not use this method.- Parameters:
document
- the JDOM document result of a transformation.- See Also:
-
getDocument
Returns the result of an XSL Transformation as a JDOM document.If the result of the transformation is a list of nodes, this method attempts to convert it into a JDOM document. If successful, any subsequent call to
getResult()
will return an empty list.Warning: The XSLT 1.0 specification states that the output of an XSL transformation is not a well-formed XML document but a list of nodes. Applications should thus use
getResult()
instead of this method or at least expectnull
documents to be returned.- Returns:
- the transformation result as a JDOM document or
null
if the result of the transformation can not be converted into a well-formed document. - See Also:
-
setFactory
Sets a custom JDOMFactory to use when building the transformation result. Use a custom factory to build the tree with your own subclasses of the JDOM classes.- Parameters:
factory
- the customJDOMFactory
to use ornull
to use the default JDOM classes.- See Also:
-
getFactory
Returns the custom JDOMFactory used to build the transformation result.- Returns:
- the custom
JDOMFactory
used to build the transformation result ornull
if the default JDOM classes are being used. - See Also:
-
setHandler
Sets the target to be a SAX2 ContentHandler.- Overrides:
setHandler
in classSAXResult
- Parameters:
handler
- Must be a non-null ContentHandler reference.
-
setLexicalHandler
Sets the SAX2 LexicalHandler for the output.This is needed to handle XML comments and the like. If the lexical handler is not set, an attempt should be made by the transformer to cast the ContentHandler to a LexicalHandler.
- Overrides:
setLexicalHandler
in classSAXResult
- Parameters:
handler
- A non-null LexicalHandler for handling lexical parse events.
-