package javax.xml.transform.dom; public class DOMSource implements Source { public static final String FEATURE = "http://javax.xml.transform.dom.DOMSource/feature"; public DOMSource() {} public DOMSource(Node node); public DOMSource(Node node, String systemID); public void setNode(Node node); public Node getNode(); public void setSystemId(String baseID); public String getSystemId(); }
In theory, you should be able to convert any DOM Node
object into a DOMSource
and transform
it. In practice, only transforming
document nodes is truly reliable. (It’s not even clear that
the XSLT processing model applies to anything that isn’t a
complete document.)
In my tests, Xalan-J could transform all the nodes I threw
at it. However, Saxon could only transform
Document
objects
and Element
objects that were part of a document tree.
package javax.xml.transform.dom; public class DOMResult implements Result { public static final String FEATURE = "http://javax.xml.transform.dom.DOMResult/feature"; public DOMResult(); public DOMResult(Node node); public DOMResult(Node node, String systemID); public void setNode(Node node); public Node getNode(); public void setSystemId(String systemId); public String getSystemId(); }
If you specify a Node
for the
result, either via the constructor or
by calling setNode()
, then the
output of the transform will be appended to that
node’s children. Otherwise, the transform output will
be appended to a new
Document
or
DocumentFragment
Node
. The getNode()
method returns this Node
.