public class XmlResolver
extends java.lang.Object
XmlManager.registerResolver(com.sleepycat.dbxml.XmlResolver)
.
The XmlResolver class allows applications to provide named access to application-specific objects, such as documents, collections of documents, DTDs, and XML schema. Berkeley DB XML can resolve references to names within a container, or a file system; applications can create XmlResolver instances that can resolve entities in other locations.
For an example of an XmlResolver implementation, see the Berkeley DB XML distribution file examples/java/misc/ExternalFunction.java, specifically, the class MyFunResolver.
If an application uses multiple threads, custom implementations of XmlResolver must be free threaded, and allow multiple, simultaneous calls for resolution.
Constructor and Description |
---|
XmlResolver() |
Modifier and Type | Method and Description |
---|---|
void |
delete()
Free the native resources associated with this object.
|
boolean |
resolveCollection(XmlTransaction txn,
XmlManager mgr,
java.lang.String uri,
XmlResults result)
When implemented, should resolve a URI to an
XmlResults . |
boolean |
resolveDocument(XmlTransaction txn,
XmlManager mgr,
java.lang.String uri,
XmlValue result)
When implemented, should resolve a URI to an
XmlValue . |
XmlInputStream |
resolveEntity(XmlTransaction txn,
XmlManager mgr,
java.lang.String systemId,
java.lang.String publicId)
When implemented, should resolve a System ID and Public ID to a new
XmlInputStream . |
XmlExternalFunction |
resolveExternalFunction(XmlTransaction txn,
XmlManager mgr,
java.lang.String uri,
java.lang.String name,
int numberOfArgs)
When implemented this method resolves a unigue combination of function URI,
function name and number of arguments into an instance of
XmlExternalFunction
used to implement an XQuery extension function. |
XmlInputStream |
resolveModule(XmlTransaction txn,
XmlManager mgr,
java.lang.String moduleLocation,
java.lang.String namespace)
When implemented, should resolve a module location and namespace to a new
XmlInputStream . |
boolean |
resolveModuleLocation(XmlTransaction txn,
XmlManager mgr,
java.lang.String nameSpace,
XmlResults result)
When implemented, should resolve a module namespace to list
of strings that are locations for the files that comprise the
module.
|
XmlInputStream |
resolveSchema(XmlTransaction txn,
XmlManager mgr,
java.lang.String schemaLocation,
java.lang.String nameSpace)
When implemented, should resolve schema location and namespace
information to a new
XmlInputStream . |
public void delete()
public boolean resolveCollection(XmlTransaction txn, XmlManager mgr, java.lang.String uri, XmlResults result) throws XmlException
XmlResults
. If the
URI cannot be resolved by this resolver, this method should return
false.txn
- If a transaction is in force, a pointer to the XmlTransaction
object; otherwise, null
.mgr
- The XmlManager
object associated with the operation.uri
- The URI to resolve.result
- The XmlResults
object in which the results of the resolution are to be
placed.XmlException
public boolean resolveDocument(XmlTransaction txn, XmlManager mgr, java.lang.String uri, XmlValue result) throws XmlException
XmlValue
. If the
URI cannot be resolved by this resolver, this method should return
false.txn
- If a transaction is in force, a pointer to the XmlTransaction
object; otherwise, null
.mgr
- The XmlManager
object associated with the operation.uri
- The URI to resolve.result
- The XmlValue
object in which the results of the resolution are to be placed.XmlException
public XmlInputStream resolveEntity(XmlTransaction txn, XmlManager mgr, java.lang.String systemId, java.lang.String publicId) throws XmlException
XmlInputStream
. If the IDs cannot be resolved by this resolver,
this method should return null
. The XmlInputStream object will be
deleted by the caller.txn
- If a transaction is in force, a pointer to the XmlTransaction
object; otherwise, null
.mgr
- The XmlManager
object associated with the operation.systemId
- The System ID to resolve.publicId
- The Public ID to resolve.XmlException
public XmlInputStream resolveSchema(XmlTransaction txn, XmlManager mgr, java.lang.String schemaLocation, java.lang.String nameSpace) throws XmlException
XmlInputStream
. If this information cannot
be resolved by this resolver, this method should return null
. The
XmlInputStream object will be deleted by the caller.txn
- If a transaction is in force, a pointer to the XmlTransaction
object; otherwise, null
.mgr
- The XmlManager
object associated with the operation.schemaLocation
- The location where the schema resides.nameSpace
- The namespace used by the schema.XmlException
public XmlInputStream resolveModule(XmlTransaction txn, XmlManager mgr, java.lang.String moduleLocation, java.lang.String namespace) throws XmlException
XmlInputStream
. If the location and namespace cannot be
resolved by this resolver,
this method should return null
. The XmlInputStream object will be
deleted by the caller.txn
- If a transaction is in force, a pointer to the XmlTransaction
object; otherwise, null
.mgr
- The XmlManager
object associated with the operation.moduleLocation
- The location of the module to resolve.namespace
- The namespace of the module to resolve.XmlException
public boolean resolveModuleLocation(XmlTransaction txn, XmlManager mgr, java.lang.String nameSpace, XmlResults result) throws XmlException
XmlValue
objects in
an XmlResults
object. If the
module namespace cannot be resolved by this resolver, this method should return
false. Otherwise, it should return true.txn
- If a transaction is in force, a pointer to the XmlTransaction
object; otherwise, null
.mgr
- The XmlManager
object associated with the operation.nameSpace
- The module namespace to resolve.result
- The XmlResults
object in which the results of the resolution are to be
placed.XmlException
public XmlExternalFunction resolveExternalFunction(XmlTransaction txn, XmlManager mgr, java.lang.String uri, java.lang.String name, int numberOfArgs) throws XmlException
XmlExternalFunction
used to implement an XQuery extension function. If the URI, name and
arguments cannot be resolved null is returned. It may return a singleton or
a new instance. Memory management of the returned object depends on the
implementation of the XmlResolver
and the XmlExternalFunction
instance. Singletons are usually owned by XmlResolver
while new
instances must be deleted by XmlExternalFunction.close()
.txn
- If a transaction is in force, a pointer to the XmlTransaction
object; otherwise, null
.mgr
- The XmlManager
object associated with the operation.uri
- The namespace URI of the function to resolve.name
- The name of the function to resolve.numberOfArgs
- The number of arguments passed to the function.XmlExternalFunction
if the function can be resolved, or null.XmlException
Copyright (c) 2004,2014 Oracle. All rights reserved.