public class DocumentWrapper extends NodeWrapper implements DocumentInfo
This class should have been named Root; it is used not only for the root of a document, but also for the root of a result tree fragment, which is not constrained to contain a single top-level element.
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
baseURI |
protected Configuration |
config |
protected long |
documentNumber |
docWrapper, index, node, nodeKind
ALL_NAMESPACES, EMPTY_NAMESPACE_LIST, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
EMPTY_VALUE_ARRAY
Constructor and Description |
---|
DocumentWrapper(Document doc,
java.lang.String baseURI,
Configuration config)
Create a Saxon wrapper for a JDOM document
|
Modifier and Type | Method and Description |
---|---|
Configuration |
getConfiguration()
Get the configuration previously set using setConfiguration
(or the default configuraton allocated automatically)
|
long |
getDocumentNumber()
Get the unique document number
|
NamePool |
getNamePool()
Get the name pool used for the names in this document
|
int |
getTypeAnnotation()
Get the type annotation.
|
java.lang.String[] |
getUnparsedEntity(java.lang.String name)
Get the unparsed entity with a given name
|
java.util.Iterator<java.lang.String> |
getUnparsedEntityNames()
Get the list of unparsed entities defined in this document
|
java.lang.Object |
getUserData(java.lang.String key)
Get user data held in the document node.
|
NodeInfo |
selectID(java.lang.String id,
boolean getParent)
Get the element with a given ID, if any
|
void |
setConfiguration(Configuration config)
Set the configuration (containing the name pool used for all names in this document)
|
void |
setUserData(java.lang.String key,
java.lang.Object value)
Set user data on the document node.
|
NodeWrapper |
wrap(java.lang.Object node)
Wrap a node in the JDOM document.
|
atomize, compareOrder, copy, equals, generateId, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDisplayName, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNodeKind, getParent, getPrefix, getRealNode, getRoot, getSiblingPosition, getStringValue, getStringValueCS, getSystemId, getTypedValue, getUnderlyingNode, getURI, hasChildNodes, hashCode, isId, isIdref, isNilled, isSameNodeInfo, iterateAxis, iterateAxis, makeWrapper, makeWrapper, setSystemId
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
atomize, compareOrder, copy, equals, generateId, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDisplayName, getDocumentRoot, getFingerprint, getLineNumber, getLocalPart, getNameCode, getNodeKind, getParent, getPrefix, getRoot, getStringValue, getSystemId, getURI, hasChildNodes, hashCode, isId, isIdref, isNilled, isSameNodeInfo, iterateAxis, iterateAxis
getStringValueCS, getTypedValue
protected Configuration config
protected java.lang.String baseURI
protected long documentNumber
public DocumentWrapper(Document doc, java.lang.String baseURI, Configuration config)
doc
- The JDOM documentbaseURI
- The base URI for all the nodes in the documentconfig
- The Saxon Configurationpublic NodeWrapper wrap(java.lang.Object node)
node
- The node to be wrapped. This must be a node in the same document
(the system does not check for this).public void setConfiguration(Configuration config)
public Configuration getConfiguration()
getConfiguration
in interface NodeInfo
getConfiguration
in class NodeWrapper
public NamePool getNamePool()
getNamePool
in interface NodeInfo
getNamePool
in class NodeWrapper
public long getDocumentNumber()
getDocumentNumber
in interface NodeInfo
getDocumentNumber
in class NodeWrapper
public NodeInfo selectID(java.lang.String id, boolean getParent)
selectID
in interface DocumentInfo
id
- the required ID valuegetParent
- public java.util.Iterator<java.lang.String> getUnparsedEntityNames()
getUnparsedEntityNames
in interface DocumentInfo
public java.lang.String[] getUnparsedEntity(java.lang.String name)
getUnparsedEntity
in interface DocumentInfo
name
- the name of the entitypublic int getTypeAnnotation()
getTypeAnnotation
in interface NodeInfo
getTypeAnnotation
in class NodeWrapper
For elements and attributes, this is the type annotation as defined in XDM. For document nodes, it should be one of XS_UNTYPED if the document has not been validated, or XS_ANY_TYPE if validation has taken place (that is, if any node in the document has an annotation other than Untyped or UntypedAtomic).
public void setUserData(java.lang.String key, java.lang.Object value)
getUserData(java.lang.String)
setUserData
in interface DocumentInfo
key
- A string giving the name of the property to be set. Clients are responsible
for choosing a key that is likely to be unique. Must not be null. Keys used internally
by Saxon are prefixed "saxon:".value
- The value to be set for the property. May be null, which effectively
removes the existing value for the property.public java.lang.Object getUserData(java.lang.String key)
setUserData(java.lang.String, java.lang.Object)
getUserData
in interface DocumentInfo
key
- A string giving the name of the property to be retrieved.