public class JDOMResult
extends javax.xml.transform.sax.SAXResult
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);
}
}
JDOMSource
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
JDOM_FEATURE
If
TransformerFactory.getFeature(java.lang.String)
returns true when passed this value as an
argument, the Transformer natively supports JDOM. |
Constructor and Description |
---|
JDOMResult()
Public default constructor.
|
Modifier and Type | Method and Description |
---|---|
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.
|
java.util.List<Content> |
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(org.xml.sax.ContentHandler handler)
Sets the target to be a SAX2 ContentHandler.
|
void |
setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)
Sets the SAX2 LexicalHandler for the output.
|
void |
setResult(java.util.List<Content> result)
Sets the object(s) produced as result of an XSL Transformation.
|
public static final java.lang.String JDOM_FEATURE
TransformerFactory.getFeature(java.lang.String)
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.
public void setResult(java.util.List<Content> result)
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 a
SAXResult
. Applications should not use this
method.
result
- the result of a transformation as a
list
of JDOM nodes
(Elements, Texts, Comments, PIs...).getResult()
public java.util.List<Content> getResult()
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
.
public void setDocument(Document document)
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 a
SAXResult
. Applications should not use this
method.
document
- the JDOM document result of a transformation.setResult(java.util.List<org.jdom2.Content>)
,
getDocument()
public Document getDocument()
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.
null
if the result of the transformation
can not be converted into a well-formed document.getResult()
public 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)
public void setHandler(org.xml.sax.ContentHandler handler)
setHandler
in class javax.xml.transform.sax.SAXResult
handler
- Must be a non-null ContentHandler reference.public void setLexicalHandler(org.xml.sax.ext.LexicalHandler handler)
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.
setLexicalHandler
in class javax.xml.transform.sax.SAXResult
handler
- A non-null LexicalHandler for
handling lexical parse events.Copyright © 2021 Jason Hunter, Brett McLaughlin. All Rights Reserved.