org.jdom.transform
Class JDOMResult
SAXResult
org.jdom.transform.JDOMResult
public class JDOMResult
extends SAXResult
A holder for an XSL Transformation result, generally a list of nodes
although it can be a JDOM Document also. As stated by the XSLT 1.0
specification, the result tree generated by an XSL transformation is not
required to be a well-formed XML document. The result tree may have "any
sequence of nodes as children that would be possible for an
element node".
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);
}
}
$Revision: 1.24 $, $Date: 2007/11/10 05:29:02 $- Laurent Bihanic
- Jason Hunter
static String | JDOM_FEATURE - If
javax.xml.transform.TransformerFactory.getFeature
returns true when passed this value as an
argument, the Transformer natively supports JDOM.
|
Document | getDocument() - Returns the result of an XSL Transformation as a JDOM document.
|
JDOMFactory | getFactory() - Returns the custom JDOMFactory used to build the transformation
result.
|
List | getResult() - 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 | setResult(List result) - Sets the object(s) produced as result of an XSL Transformation.
|
JDOM_FEATURE
public static final String JDOM_FEATURE
If
javax.xml.transform.TransformerFactory.getFeature
returns
true
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.
JDOMResult
public JDOMResult()
Public default constructor.
getDocument
public Document 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 expect
null
documents to be returned.
- the transformation result as a JDOM document or
null
if the result of the transformation
can not be converted into a well-formed document.
getFactory
public JDOMFactory getFactory()
Returns the custom JDOMFactory used to build the transformation
result.
- the custom
JDOMFactory
used to build the
transformation result or null
if the
default JDOM classes are being used.
getResult
public List 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 return
null
.
- the transformation result as a (possibly empty) list of
JDOM nodes (Elements, Texts, Comments, PIs...).
setDocument
public void setDocument(Document document)
Sets the document produced as result of an XSL Transformation.
Note: This method shall be used by the
javax.xml.transform.Transformer
implementations that
natively support JDOM to directly set the transformation
result rather than considering this object as a
SAXResult
. Applications should
not use this
method.
document
- the JDOM document result of a transformation.
setFactory
public void setFactory(JDOMFactory factory)
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.
factory
- the custom JDOMFactory
to use or
null
to use the default JDOM
classes.
setHandler
public void setHandler(ContentHandler handler)
Sets the target to be a SAX2 ContentHandler.
handler
- Must be a non-null ContentHandler reference.
setLexicalHandler
public void setLexicalHandler(LexicalHandler handler)
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.
handler
- A non-null LexicalHandler for
handling lexical parse events.
setResult
public void setResult(List result)
Sets the object(s) produced as result of an XSL Transformation.
Note: This method shall be used by the
javax.xml.transform.Transformer
implementations that
natively support JDOM to directly set the transformation
result rather than considering this object as a
SAXResult
. Applications should
not use this
method.
result
- the result of a transformation as a
list
of JDOM nodes
(Elements, Texts, Comments, PIs...).
Copyright B) 2007 Jason Hunter, Brett McLaughlin. All Rights Reserved.