net.sf.saxon.dotnet
public abstract class DotNetObjectModel extends java.lang.Object implements ExternalObjectModel
| Constructor and Description |
|---|
DotNetObjectModel() |
| Modifier and Type | Method and Description |
|---|---|
Value |
convertObjectToXPathValue(java.lang.Object object,
Configuration config)
Convert a Java object to an XPath value.
|
java.lang.Object |
convertXPathValueToObject(Value value,
cli.System.Type targetClass,
XPathContext context)
Convert an XPath value to an object in this object 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
|
JPConverter |
getJPConverter(java.lang.Class targetClass)
Get a converter from XPath values to values in the external object model
|
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 |
isRecognizedNode(java.lang.Object object)
Test whether this object model recognizes a given node as one of its own.
|
abstract boolean |
isXdmValue(java.lang.Object object)
Test whether the supplied object is an XDM value as defined in Saxon.Api
(implemented this way to avoid a reference to the Saxon.Api package)
|
abstract boolean |
isXdmValueType(cli.System.Type type)
Test whether the supplied type is an XDM value type as defined in Saxon.Api
(implemented this way to avoid a reference to the Saxon.Api package)
|
abstract boolean |
isXmlNodeType(cli.System.Type type)
Test whether the supplied type is a subtype of System.Xml.XmlNode
|
boolean |
sendSource(javax.xml.transform.Source source,
Receiver receiver,
PipelineConfiguration pipe)
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.
|
abstract ValueRepresentation |
unwrapXdmValue(java.lang.Object object)
Unwrap an XdmValue
|
abstract java.lang.Object |
wrapAsXdmValue(Value value)
Wrap a Value as an XdmValue
|
DocumentInfo |
wrapDocument(java.lang.Object node,
java.lang.String baseURI,
Configuration config)
Wrap a document node in the external object model in a document wrapper that implements
the Saxon DocumentInfo interface
|
NodeInfo |
wrapNode(DocumentInfo document,
java.lang.Object node)
Wrap a node within the external object model in a node wrapper that implements the Saxon
VirtualNode interface (which is an extension of NodeInfo)
|
public java.lang.String getIdentifyingURI()
getIdentifyingURI in interface ExternalObjectModelpublic PJConverter getPJConverter(java.lang.Class targetClass)
ExternalObjectModelgetPJConverter 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 targetClass)
ExternalObjectModelgetJPConverter 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
an object of this class as input and returns a node or sequence of nodes in the
native Saxon representation. Otherwise, it should return null.public PJConverter getNodeListCreator(java.lang.Object node)
getNodeListCreator in interface ExternalObjectModelnode - an example of the kind of node used in this modelpublic abstract boolean isXdmValue(java.lang.Object object)
object - the object under testpublic abstract boolean isXdmValueType(cli.System.Type type)
type - the type under testpublic abstract ValueRepresentation unwrapXdmValue(java.lang.Object object)
object - the supplied XdmValuepublic abstract java.lang.Object wrapAsXdmValue(Value value)
value - the value to be wrappedpublic abstract boolean isXmlNodeType(cli.System.Type type)
type - the supplied typepublic Value convertObjectToXPathValue(java.lang.Object object, Configuration config) throws XPathException
object - the object to be convertedconfig - the Saxon configurationXPathExceptionpublic java.lang.Object convertXPathValueToObject(Value value, cli.System.Type targetClass, XPathContext context) throws XPathException
value - the value to be convertedtargetClass - the required class of the result of the conversioncontext - the XPath dynamic evaluation contextXPathException - if the target class is explicitly associated with this object model, but the
supplied value cannot be converted to the appropriate classpublic Receiver getDocumentBuilder(javax.xml.transform.Result result) throws XPathException
getDocumentBuilder in interface ExternalObjectModelresult - a JAXP result objectXPathExceptionpublic boolean isRecognizedNode(java.lang.Object object)
object - An object that possibly represents a nodepublic boolean sendSource(javax.xml.transform.Source source,
Receiver receiver,
PipelineConfiguration pipe)
throws XPathException
sendSource in interface ExternalObjectModelsource - a JAXP Source objectreceiver - the Receiver that is to receive the data from the Sourcepipe - configuration informationXPathExceptionpublic NodeInfo unravel(javax.xml.transform.Source source, Configuration config)
unravel in interface ExternalObjectModelsource - a JAXP Source objectconfig - the Saxon configurationpublic DocumentInfo wrapDocument(java.lang.Object node, java.lang.String baseURI, Configuration config)
node - a node (any node) in the third party documentbaseURI - the base URI of the node (supply "" if unknown)config - the Saxon configuration (which among other things provides access to the NamePool)public NodeInfo wrapNode(DocumentInfo document, java.lang.Object node)
document - the document wrapper, as a DocumentInfo objectnode - the node to be wrapped. This must be a node within the document wrapped by the
DocumentInfo provided in the first argument