public class DOMObjectModel extends java.lang.Object implements ExternalObjectModel, java.io.Serializable
| Constructor and Description |
|---|
DOMObjectModel()
Create an instance of the DOMObjectModel class.
|
| Modifier and Type | Method and Description |
|---|---|
static java.lang.Object |
convertXPathValueToObject(ValueRepresentation value,
java.lang.Object targetClass)
Convert an XPath value to an object in this object model.
|
NodeInfo |
copy(org.w3c.dom.Node node,
TreeModel model,
Configuration config)
Copy a DOM node to create a node in a different tree model
|
Receiver |
getDocumentBuilder(javax.xml.transform.Result result)
Test whether this object model recognizes a particular kind of JAXP Result object,
and if it does, return a Receiver that builds an instance of this data model from
a sequence of events.
|
java.lang.String |
getIdentifyingURI()
Get the URI of the external object model as used in the JAXP factory interfaces for obtaining
an XPath implementation
|
static DOMObjectModel |
getInstance()
Get a reusable instance instance of this class.
|
JPConverter |
getJPConverter(java.lang.Class sourceClass)
Get a converter from values in the external object model to XPath values.
|
PJConverter |
getNodeListCreator(java.lang.Object node)
Get a converter that converts a sequence of XPath nodes to this model's representation
of a node list.
|
PJConverter |
getPJConverter(java.lang.Class targetClass)
Get a converter from XPath values to values in the external object model
|
boolean |
sendSource(javax.xml.transform.Source source,
Receiver receiver)
Test whether this object model recognizes a particular kind of JAXP Source object,
and if it does, send the contents of the document to a supplied Receiver, and return true.
|
NodeInfo |
unravel(javax.xml.transform.Source source,
Configuration config)
Wrap or unwrap a node using this object model to return the corresponding Saxon node.
|
NodeInfo |
wrap(org.w3c.dom.Node node,
Configuration config)
Wrap a DOM node using this object model to return the corresponding Saxon node.
|
public DOMObjectModel()
When possible, use the getInstance() method in preference, as the instance is then reusable.
public static DOMObjectModel getInstance()
Note, this is not actually a singleton instance; the class also has a public constructor, which is needed to support the automatic loading of object models into the Configuration.
public java.lang.String getIdentifyingURI()
getIdentifyingURI in interface ExternalObjectModelpublic PJConverter getPJConverter(java.lang.Class targetClass)
getPJConverter in interface ExternalObjectModeltargetClass - the required class of the result of the conversion. If this class represents
a node or list of nodes in the external object model, the method should return a converter that takes
a native node or sequence of nodes as input and returns a node or sequence of nodes in the
external object model representation. Otherwise, it should return null.public JPConverter getJPConverter(java.lang.Class sourceClass)
ExternalObjectModelgetJPConverter in interface ExternalObjectModelsourceClass - the class (static or dynamic) of values to be convertedpublic PJConverter getNodeListCreator(java.lang.Object node)
getNodeListCreator in interface ExternalObjectModelnode - an example of the kind of node used in this modelpublic Receiver getDocumentBuilder(javax.xml.transform.Result result) throws XPathException
getDocumentBuilder in interface ExternalObjectModelresult - a JAXP result objectXPathExceptionpublic boolean sendSource(javax.xml.transform.Source source,
Receiver receiver)
throws XPathException
sendSource in interface ExternalObjectModelsource - a JAXP Source objectreceiver - the Receiver that is to receive the data from the SourceXPathExceptionpublic NodeInfo wrap(org.w3c.dom.Node node, Configuration config)
node - the DOM node to be wrappedconfig - the Saxon Configurationpublic NodeInfo copy(org.w3c.dom.Node node, TreeModel model, Configuration config) throws XPathException
node - the DOM node to be copiedmodel - the target tree modelconfig - the Saxon ConfigurationXPathExceptionpublic NodeInfo unravel(javax.xml.transform.Source source, Configuration config)
unravel in interface ExternalObjectModelsource - a JAXP Source objectconfig - the Saxon configurationpublic static java.lang.Object convertXPathValueToObject(ValueRepresentation value, java.lang.Object targetClass) throws XPathException
XPathException - if the target class is explicitly associated with this object model, but the
supplied value cannot be converted to the appropriate class