java.lang.Objectjavax.xml.transform.sax.SAXSource
JDOMSource
public class JDOMSource
A holder for an XML Transformation source: a Document, Element, or list of nodes.
The is provides input to a JAXP TrAX Transformer
.
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);
}
}
transform.JDOMResult
Nested Class Summary | |
---|---|
private static class | JDOMSource.DocumentReader An implementation of the SAX2 XMLReader interface that presents a SAX view of a JDOM Document. |
private static class | JDOMSource.JDOMInputSource A subclass of the SAX InputSource interface that wraps a JDOM Document. |
Field Summary | |
---|---|
private static java.lang.String | CVS_ID |
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. |
private org.xml.sax.XMLReader | xmlReader The XMLReader object associated to this source or null if no XMLReader has yet been requested. |
Fields inherited from class javax.xml.transform.sax.SAXSource |
---|
FEATURE |
Constructor Summary | |
---|---|
JDOMSource(Document source) Creates a JDOM TrAX source wrapping a JDOM document. | |
JDOMSource(Element source) Creates a JDOM TrAX source wrapping a JDOM element. | |
JDOMSource(java.util.List source) Creates a JDOM TrAX source wrapping a list of JDOM nodes. |
Method Summary | |
---|---|
Document | getDocument() Returns the source document used by this TrAX source. |
java.util.List | getNodes() Returns the source node list used by this TrAX source. |
org.xml.sax.XMLReader | getXMLReader() Returns the XMLReader to be used for the Source. |
void | setDocument(Document source) Sets the source document used by this TrAX source. |
void | setInputSource(org.xml.sax.InputSource inputSource) Sets the SAX InputSource to be used for the Source. |
void | setNodes(java.util.List source) Sets the source node list used by this TrAX source. |
void | setXMLReader(org.xml.sax.XMLReader reader) Set the XMLReader to be used for the Source. |
Methods inherited from class javax.xml.transform.sax.SAXSource |
---|
getInputSource, getSystemId, setSystemId, sourceToInputSource |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final java.lang.String CVS_ID
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 SAXSource.FEATURE
value defined by its superclass to be considered as a SAXSource by Transformer implementations not natively supporting JDOM.
private org.xml.sax.XMLReader xmlReader
null
if no XMLReader has yet been requested. getXMLReader()
Constructor Detail |
---|
public JDOMSource(Document source)
source
- the JDOM document to use as source for the transformations java.lang.IllegalArgumentException
- if source
is null
.public JDOMSource(java.util.List source)
source
- the JDOM nodes to use as source for the transformations java.lang.IllegalArgumentException
- if source
is null
.public JDOMSource(Element source)
source
- the JDOM element to use as source for the transformations java.lang.IllegalArgumentException
- if source
is null
.Method Detail |
---|
public void setDocument(Document source)
source
- the JDOM document to use as source for the transformations java.lang.IllegalArgumentException
- if source
is null
.getDocument()
public Document getDocument()
null
if the source is a node list.setDocument(Document)
public void setNodes(java.util.List source)
source
- the JDOM nodes to use as source for the transformations java.lang.IllegalArgumentException
- if source
is null
.getNodes()
public java.util.List getNodes()
null
if the source is a JDOM document.setDocument(Document)
public void setInputSource(org.xml.sax.InputSource inputSource) throws java.lang.UnsupportedOperationException
As this implementation only supports JDOM document as data source, this method always throws an UnsupportedOperationException
.
setInputSource
in class javax.xml.transform.sax.SAXSource
inputSource
- a valid InputSource reference. java.lang.UnsupportedOperationException
- always!public void setXMLReader(org.xml.sax.XMLReader reader) throws java.lang.UnsupportedOperationException
As this implementation only supports JDOM document as data source, this method throws an UnsupportedOperationException
if the provided reader object does not implement the SAX XMLFilter
interface. Otherwise, the JDOM document reader will be attached as parent of the filter chain.
setXMLReader
in class javax.xml.transform.sax.SAXSource
reader
- a valid XMLReader or XMLFilter reference. java.lang.UnsupportedOperationException
- if reader
is not a SAX XMLFilter
.getXMLReader()
public org.xml.sax.XMLReader getXMLReader()
This implementation returns a specific XMLReader reading the XML data from the source JDOM document.
getXMLReader
in class javax.xml.transform.sax.SAXSource