Class DTMDocument
- All Implemented Interfaces:
DTM
- Direct Known Subclasses:
SQLDocument
,SQLErrorDocument
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseIterators
DTMDefaultBaseIterators.AncestorIterator, DTMDefaultBaseIterators.AttributeIterator, DTMDefaultBaseIterators.ChildrenIterator, DTMDefaultBaseIterators.DescendantIterator, DTMDefaultBaseIterators.FollowingIterator, DTMDefaultBaseIterators.FollowingSiblingIterator, DTMDefaultBaseIterators.InternalAxisIteratorBase, DTMDefaultBaseIterators.NamespaceAttributeIterator, DTMDefaultBaseIterators.NamespaceChildrenIterator, DTMDefaultBaseIterators.NamespaceIterator, DTMDefaultBaseIterators.NthDescendantIterator, DTMDefaultBaseIterators.ParentIterator, DTMDefaultBaseIterators.PrecedingIterator, DTMDefaultBaseIterators.PrecedingSiblingIterator, DTMDefaultBaseIterators.RootIterator, DTMDefaultBaseIterators.SingletonIterator, DTMDefaultBaseIterators.TypedAncestorIterator, DTMDefaultBaseIterators.TypedAttributeIterator, DTMDefaultBaseIterators.TypedChildrenIterator, DTMDefaultBaseIterators.TypedDescendantIterator, DTMDefaultBaseIterators.TypedFollowingIterator, DTMDefaultBaseIterators.TypedFollowingSiblingIterator, DTMDefaultBaseIterators.TypedNamespaceIterator, DTMDefaultBaseIterators.TypedPrecedingIterator, DTMDefaultBaseIterators.TypedPrecedingSiblingIterator, DTMDefaultBaseIterators.TypedRootIterator, DTMDefaultBaseIterators.TypedSingletonIterator
-
Field Summary
Fields inherited from class org.apache.xml.dtm.ref.DTMDefaultBase
DEFAULT_BLOCKSIZE, DEFAULT_NUMBLOCKS, DEFAULT_NUMBLOCKS_SMALL, m_mgr, ROOTNODE
Fields inherited from interface org.apache.xml.dtm.DTM
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NAMESPACE_NODE, NOTATION_NODE, NTYPES, NULL, PROCESSING_INSTRUCTION_NODE, ROOT_NODE, TEXT_NODE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
appendChild
(int parm1, boolean parm2, boolean parm3) Append a child to the end of the document.void
appendTextChild
(String parm1) Append a text node child that will be constructed from a string, to the end of the document.void
dispatchCharactersEvents
(int nodeHandle, ContentHandler ch, boolean normalize) Directly call the characters method on the passed ContentHandler for the string-value of the given node (see http://www.w3.org/TR/xpath#data-model for the definition of a node's string-value).void
dispatchToEvents
(int parm1, ContentHandler parm2) Directly create SAX parser events from a subtree.void
dumpDTM()
int
getAttributeNode
(int parm1, String parm2, String parm3) Retrieves an attribute node by by qualified name and namespace URI.getAxisIterator
(int parm1) This is a shortcut to the iterators that implement the XPath axes.getAxisTraverser
(int parm1) This returns a stateless "traverser", that can navigate over an XPath axis, though perhaps not in document order.Return this DTM's content handler, if it has one.Return this DTM's DeclHandler, if it has one.int
Find the Document node handle for the document currently under construction.boolean
Return an indication of whether the processor has read the complete DTD.Return the base URI of the document entity.getDocumentEncoding
(int parm1) Return the name of the character encoding scheme in which the document entity is expressed.getDocumentStandalone
(int parm1) Return an indication of the standalone status of the document, either "yes" or "no".getDocumentSystemIdentifier
(int parm1) Return the system identifier of the document entity.Return the public identifier of the external subset, normalized as described in 4.2.2 External Entities [XML].A document type declaration information item has the following properties: 1.getDocumentVersion
(int parm1) Return a string representing the XML version of the document.Return this DTM's DTDHandler, if it has one.int
getElementById
(String parm1) Returns theElement
whoseID
is given byelementId
.Return this DTM's EntityResolver, if it has one.Return this DTM's ErrorHandler, if it has one.int
getExpandedTypeID
(int parm1) Given a node handle, return an ID that represents the node's expanded name.int
getExpandedTypeID
(String parm1, String parm2, int parm3) Given an expanded name, return an ID.int
getFirstAttribute
(int parm1) Given a node handle, get the index of the node's first attribute.int
getFirstChild
(int parm1) Given a node handle, get the handle of the node's first child.int
getFirstNamespaceNode
(int parm1, boolean parm2) Given a node handle, get the index of the node's first child.int
getLastChild
(int parm1) Given a node handle, advance to its last child.short
getLevel
(int parm1) Get the depth level of this node in the tree (equals 1 for a parentless node).Return this DTM's lexical handler, if it has one.getLocalName
(int parm1) Given a node handle, return its XPath-style localname.getLocalNameFromExpandedNameID
(int parm1) Given an expanded-name ID, return the local name part.getNamespaceFromExpandedNameID
(int parm1) Given an expanded-name ID, return the namespace URI part.int
getNamespaceType
(int parm1) Returns the namespace type of a specific nodegetNamespaceURI
(int parm1) Given a node handle, return its DOM-style namespace URI (As defined in Namespaces, this is the declared URI which this node's prefix -- or default in lieu thereof -- was mapped to.)int
getNextAttribute
(int parm1) Given a node handle, advance to the next attribute.int
getNextNamespaceNode
(int parm1, int parm2, boolean parm3) Given a namespace handle, advance to the next namespace.int
getNextSibling
(int parm1) Given a node handle, advance to its next sibling.getNode
(int parm1) Return an DOM node for the given node.getNodeName
(int parm1) Given a node handle, return its DOM-style node name.getNodeNameX
(int parm1) Given a node handle, return the XPath node name.short
getNodeType
(int parm1) Given a node handle, return its DOM-style node type.getNodeValue
(int parm1) Given a node handle, return its node value.int
getOwnerDocument
(int parm1) Given a node handle, find the owning document node.int
getParent
(int parm1) Given a node handle, find its parent node.getPrefix
(int parm1) Given a namespace handle, return the prefix that the namespace decl is mapping.int
getPreviousSibling
(int parm1) Given a node handle, find its preceeding sibling.getSourceLocatorFor
(int node) No source information is available for DOM2DTM, so returnnull
here.getStringValue
(int nodeHandle) Get the string-value of a node as a String object (see http://www.w3.org/TR/xpath#data-model for the definition of a node's string-value).char[]
getStringValueChunk
(int parm1, int parm2, int[] parm3) Get a character array chunk in the string-value of a node.int
getStringValueChunkCount
(int parm1) Get number of character array chunks in the string-value of a node.getTypedAxisIterator
(int parm1, int parm2) Get an iterator that can navigate over an XPath Axis, predicated by the extended type ID.getUnparsedEntityURI
(String parm1) The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in the same document as the context node (see [3.3 Unparsed Entities]).boolean
hasChildNodes
(int parm1) Given a node handle, test if it has child nodes.boolean
isAttributeSpecified
(int parm1) 5.boolean
isCharacterElementContentWhitespace
(int parm1) 2.boolean
isDocumentAllDeclarationsProcessed
(int parm1) 10.boolean
isNodeAfter
(int parm1, int parm2) Figure out whether nodeHandle2 should be considered as being later in the document than nodeHandle1, in Document Order as defined by the XPath model.boolean
isSupported
(String parm1, String parm2) Tests whether DTM DOM implementation implements a specific feature and that feature is supported by this node.boolean
void
setDocumentBaseURI
(String parm1) Set the base URI of the document entity.void
setFeature
(String parm1, boolean parm2) Set an implementation dependent feature.void
setProperty
(String property, Object value) For the moment all the run time properties are ignored by this class.boolean
Event overriding for DebugMethods inherited from class org.apache.xml.dtm.ref.DTMDefaultBase
documentRegistration, documentRelease, dumpDTM, dumpNode, getDocumentRoot, getDTMIDs, getManager, getNodeHandle, getNodeIdent, getTypedFirstChild, getTypedNextSibling, makeNodeHandle, makeNodeIdentity, migrateTo
-
Constructor Details
-
DTMDocument
- Parameters:
mgr
-ident
-
-
-
Method Details
-
getFirstAttribute
public int getFirstAttribute(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, get the index of the node's first attribute.- Specified by:
getFirstAttribute
in interfaceDTM
- Overrides:
getFirstAttribute
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- Handle of first attribute, or DTM.NULL to indicate none exists.
-
getNodeValue
Description copied from class:DTMDefaultBase
Given a node handle, return its node value. This is mostly as defined by the DOM, but may ignore some conveniences.- Specified by:
getNodeValue
in interfaceDTM
- Specified by:
getNodeValue
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String Value of this node, or null if not meaningful for this node type.
-
getStringValue
Get the string-value of a node as a String object (see http://www.w3.org/TR/xpath#data-model for the definition of a node's string-value).- Specified by:
getStringValue
in interfaceDTM
- Specified by:
getStringValue
in classDTMDefaultBase
- Parameters:
nodeHandle
- The node ID.- Returns:
- A string object that represents the string-value of the given node.
-
getNextAttribute
public int getNextAttribute(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, advance to the next attribute. If an attr, we advance to the next attr on the same node. If not an attribute, we return NULL.- Specified by:
getNextAttribute
in interfaceDTM
- Overrides:
getNextAttribute
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int DTM node-number of the resolved attr, or DTM.NULL to indicate none exists.
-
dumpDTM
public void dumpDTM() -
setProperty
For the moment all the run time properties are ignored by this class.- Parameters:
property
- aString
valuevalue
- anObject
value
-
getSourceLocatorFor
No source information is available for DOM2DTM, so returnnull
here.- Parameters:
node
- anint
value- Returns:
- null
-
getAttributeNode
Description copied from class:DTMDefaultBase
Retrieves an attribute node by by qualified name and namespace URI.- Specified by:
getAttributeNode
in interfaceDTM
- Specified by:
getAttributeNode
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-parm3
-- Returns:
- The attribute node handle with the specified name (
nodeName
) orDTM.NULL
if there is no such attribute.
-
getLocalName
Description copied from class:DTMDefaultBase
Given a node handle, return its XPath-style localname. (As defined in Namespaces, this is the portion of the name after any colon character).- Specified by:
getLocalName
in interfaceDTM
- Specified by:
getLocalName
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String Local name of this node.
-
getNodeName
Description copied from class:DTMDefaultBase
Given a node handle, return its DOM-style node name. This will include names such as #text or #document.- Specified by:
getNodeName
in interfaceDTM
- Specified by:
getNodeName
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String Name of this node, which may be an empty string. %REVIEW% Document when empty string is possible... %REVIEW-COMMENT% It should never be empty, should it?
-
isAttributeSpecified
public boolean isAttributeSpecified(int parm1) Description copied from class:DTMDefaultBase
5. [specified] A flag indicating whether this attribute was actually specified in the start-tag of its element, or was defaulted from the DTD.- Specified by:
isAttributeSpecified
in interfaceDTM
- Specified by:
isAttributeSpecified
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
true
if the attribute was specified;false
if it was defaulted.
-
getUnparsedEntityURI
Description copied from class:DTMDefaultBase
The getUnparsedEntityURI function returns the URI of the unparsed entity with the specified name in the same document as the context node (see [3.3 Unparsed Entities]). It returns the empty string if there is no such entity.XML processors may choose to use the System Identifier (if one is provided) to resolve the entity, rather than the URI in the Public Identifier. The details are dependent on the processor, and we would have to support some form of plug-in resolver to handle this properly. Currently, we simply return the System Identifier if present, and hope that it a usable URI or that our caller can map it to one. TODO: Resolve Public Identifiers... or consider changing function name.
If we find a relative URI reference, XML expects it to be resolved in terms of the base URI of the document. The DOM doesn't do that for us, and it isn't entirely clear whether that should be done here; currently that's pushed up to a higher level of our application. (Note that DOM Level 1 didn't store the document's base URI.) TODO: Consider resolving Relative URIs.
(The DOM's statement that "An XML processor may choose to completely expand entities before the structure model is passed to the DOM" refers only to parsed entities, not unparsed, and hence doesn't affect this function.)
- Specified by:
getUnparsedEntityURI
in interfaceDTM
- Specified by:
getUnparsedEntityURI
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String containing the URI of the Unparsed Entity, or an empty string if no such entity exists.
-
getDTDHandler
Description copied from interface:DTM
Return this DTM's DTDHandler, if it has one.- Returns:
- null if this model doesn't respond to SAX dtd events.
-
getPrefix
Description copied from class:DTMDefaultBase
Given a namespace handle, return the prefix that the namespace decl is mapping. Given a node handle, return the prefix used to map to the namespace.%REVIEW% Are you sure you want "" for no prefix?
%REVIEW-COMMENT% I think so... not totally sure. -sb
- Specified by:
getPrefix
in interfaceDTM
- Specified by:
getPrefix
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String prefix of this node's name, or "" if no explicit namespace prefix was given.
-
getEntityResolver
Description copied from interface:DTM
Return this DTM's EntityResolver, if it has one.- Returns:
- null if this model doesn't respond to SAX entity ref events.
-
getDocumentTypeDeclarationPublicIdentifier
Description copied from class:DTMDefaultBase
Return the public identifier of the external subset, normalized as described in 4.2.2 External Entities [XML]. If there is no external subset or if it has no public identifier, this property has no value.- Specified by:
getDocumentTypeDeclarationPublicIdentifier
in interfaceDTM
- Specified by:
getDocumentTypeDeclarationPublicIdentifier
in classDTMDefaultBase
- Returns:
- the public identifier String object, or null if there is none.
-
getLexicalHandler
Description copied from interface:DTM
Return this DTM's lexical handler, if it has one. %REVIEW% Should this return null if constrution already done/begun?- Returns:
- null if this model doesn't respond to lexical SAX events.
-
needsTwoThreads
public boolean needsTwoThreads()- Returns:
- true iff we're building this model incrementally (eg we're partnered with a CoroutineParser) and thus require that the transformation and the parse run simultaneously. Guidance to the DTMManager.
-
getContentHandler
Description copied from interface:DTM
Return this DTM's content handler, if it has one.- Returns:
- null if this model doesn't respond to SAX events.
-
dispatchToEvents
Description copied from class:DTMDefaultBase
Directly create SAX parser events from a subtree.- Specified by:
dispatchToEvents
in interfaceDTM
- Specified by:
dispatchToEvents
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-- Throws:
SAXException
-
getNamespaceURI
Description copied from class:DTMDefaultBase
Given a node handle, return its DOM-style namespace URI (As defined in Namespaces, this is the declared URI which this node's prefix -- or default in lieu thereof -- was mapped to.)%REVIEW% Null or ""? -sb
- Specified by:
getNamespaceURI
in interfaceDTM
- Specified by:
getNamespaceURI
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String URI value of this node's namespace, or null if no namespace was resolved.
-
dispatchCharactersEvents
public void dispatchCharactersEvents(int nodeHandle, ContentHandler ch, boolean normalize) throws SAXException Description copied from class:DTMDefaultBase
Directly call the characters method on the passed ContentHandler for the string-value of the given node (see http://www.w3.org/TR/xpath#data-model for the definition of a node's string-value). Multiple calls to the ContentHandler's characters methods may well occur for a single call to this method.- Specified by:
dispatchCharactersEvents
in interfaceDTM
- Specified by:
dispatchCharactersEvents
in classDTMDefaultBase
- Parameters:
nodeHandle
-ch
-normalize
-- Throws:
SAXException
-
supportsPreStripping
public boolean supportsPreStripping()Event overriding for Debug- Specified by:
supportsPreStripping
in interfaceDTM
- Overrides:
supportsPreStripping
in classDTMDefaultBase
- Returns:
- true if this DTM supports prestripping.
-
getNode
Description copied from class:DTMDefaultBase
Return an DOM node for the given node.- Specified by:
getNode
in interfaceDTM
- Overrides:
getNode
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- A node representation of the DTM node.
-
getPreviousSibling
public int getPreviousSibling(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, find its preceeding sibling. WARNING: DTM is asymmetric; this operation is resolved by search, and is relatively expensive.- Specified by:
getPreviousSibling
in interfaceDTM
- Overrides:
getPreviousSibling
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int Node-number of the previous sib, or DTM.NULL to indicate none exists.
-
getDocumentStandalone
Description copied from class:DTMDefaultBase
Return an indication of the standalone status of the document, either "yes" or "no". This property is derived from the optional standalone document declaration in the XML declaration at the beginning of the document entity, and has no value if there is no standalone document declaration.- Specified by:
getDocumentStandalone
in interfaceDTM
- Overrides:
getDocumentStandalone
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- the document standalone String object, either "yes", "no", or null.
-
getNodeNameX
Description copied from class:DTMDefaultBase
Given a node handle, return the XPath node name. This should be the name as described by the XPath data model, NOT the DOM-style name.- Specified by:
getNodeNameX
in interfaceDTM
- Overrides:
getNodeNameX
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String Name of this node, which may be an empty string.
-
setFeature
Description copied from class:DTMDefaultBase
Set an implementation dependent feature.%REVIEW% Do we really expect to set features on DTMs?
- Specified by:
setFeature
in interfaceDTM
- Overrides:
setFeature
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-
-
isNodeAfter
public boolean isNodeAfter(int parm1, int parm2) Description copied from class:DTMDefaultBase
Figure out whether nodeHandle2 should be considered as being later in the document than nodeHandle1, in Document Order as defined by the XPath model. This may not agree with the ordering defined by other XML applications.There are some cases where ordering isn't defined, and neither are the results of this function -- though we'll generally return false.
- Specified by:
isNodeAfter
in interfaceDTM
- Overrides:
isNodeAfter
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-- Returns:
- true if node1 comes before node2, otherwise return false.
You can think of this as
(node1.documentOrderPosition <= node2.documentOrderPosition)
.
-
getNamespaceType
public int getNamespaceType(int parm1) Description copied from class:DTMDefaultBase
Returns the namespace type of a specific node- Overrides:
getNamespaceType
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- the ID of the namespace.
-
getDocumentVersion
Description copied from class:DTMDefaultBase
Return a string representing the XML version of the document. This property is derived from the XML declaration optionally present at the beginning of the document entity, and has no value if there is no XML declaration.- Specified by:
getDocumentVersion
in interfaceDTM
- Overrides:
getDocumentVersion
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- the document version String object.
-
isSupported
Description copied from class:DTMDefaultBase
Tests whether DTM DOM implementation implements a specific feature and that feature is supported by this node.- Specified by:
isSupported
in interfaceDTM
- Overrides:
isSupported
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-- Returns:
- Returns
true
if the specified feature is supported on this node,false
otherwise.
-
getDocumentEncoding
Description copied from class:DTMDefaultBase
Return the name of the character encoding scheme in which the document entity is expressed.- Specified by:
getDocumentEncoding
in interfaceDTM
- Overrides:
getDocumentEncoding
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- the document encoding String object.
-
appendChild
public void appendChild(int parm1, boolean parm2, boolean parm3) Description copied from class:DTMDefaultBase
Append a child to the end of the document. Please note that the node is always cloned if it is owned by another document.%REVIEW% "End of the document" needs to be defined more clearly. Does it become the last child of the Document? Of the root element?
- Specified by:
appendChild
in interfaceDTM
- Overrides:
appendChild
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-parm3
-
-
getLevel
public short getLevel(int parm1) Description copied from class:DTMDefaultBase
Get the depth level of this node in the tree (equals 1 for a parentless node).- Specified by:
getLevel
in interfaceDTM
- Overrides:
getLevel
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- the number of ancestors, plus one
-
getDocumentBaseURI
Description copied from class:DTMDefaultBase
Return the base URI of the document entity. If it is not known (because the document was parsed from a socket connection or from standard input, for example), the value of this property is unknown.- Specified by:
getDocumentBaseURI
in interfaceDTM
- Overrides:
getDocumentBaseURI
in classDTMDefaultBase
- Returns:
- the document base URI String object or null if unknown.
-
getNextNamespaceNode
public int getNextNamespaceNode(int parm1, int parm2, boolean parm3) Description copied from class:DTMDefaultBase
Given a namespace handle, advance to the next namespace.- Specified by:
getNextNamespaceNode
in interfaceDTM
- Overrides:
getNextNamespaceNode
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-parm3
-- Returns:
- handle of next namespace, or DTM.NULL to indicate none exists.
-
appendTextChild
Description copied from class:DTMDefaultBase
Append a text node child that will be constructed from a string, to the end of the document.%REVIEW% "End of the document" needs to be defined more clearly. Does it become the last child of the Document? Of the root element?
- Specified by:
appendTextChild
in interfaceDTM
- Overrides:
appendTextChild
in classDTMDefaultBase
- Parameters:
parm1
-
-
getFirstNamespaceNode
public int getFirstNamespaceNode(int parm1, boolean parm2) Description copied from class:DTMDefaultBase
Given a node handle, get the index of the node's first child. If not yet resolved, waits for more nodes to be added to the document and tries again- Specified by:
getFirstNamespaceNode
in interfaceDTM
- Overrides:
getFirstNamespaceNode
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-- Returns:
- handle of first namespace, or DTM.NULL to indicate none exists.
-
getStringValueChunkCount
public int getStringValueChunkCount(int parm1) Description copied from class:DTMDefaultBase
Get number of character array chunks in the string-value of a node. (see http://www.w3.org/TR/xpath#data-model for the definition of a node's string-value). Note that a single text node may have multiple text chunks.- Specified by:
getStringValueChunkCount
in interfaceDTM
- Overrides:
getStringValueChunkCount
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- number of character array chunks in the string-value of a node.
-
getLastChild
public int getLastChild(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, advance to its last child. If not yet resolved, waits for more nodes to be added to the document and tries again.- Specified by:
getLastChild
in interfaceDTM
- Overrides:
getLastChild
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int Node-number of last child, or DTM.NULL to indicate none exists.
-
hasChildNodes
public boolean hasChildNodes(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, test if it has child nodes.%REVIEW% This is obviously useful at the DOM layer, where it would permit testing this without having to create a proxy node. It's less useful in the DTM API, where (dtm.getFirstChild(nodeHandle)!=DTM.NULL) is just as fast and almost as self-evident. But it's a convenience, and eases porting of DOM code to DTM.
- Specified by:
hasChildNodes
in interfaceDTM
- Overrides:
hasChildNodes
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int true if the given node has child nodes.
-
getNodeType
public short getNodeType(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, return its DOM-style node type.%REVIEW% Generally, returning short is false economy. Return int? %REVIEW% Make assumption that node has already arrived. Is OK?
- Specified by:
getNodeType
in interfaceDTM
- Overrides:
getNodeType
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int Node type, as per the DOM's Node._NODE constants.
-
isCharacterElementContentWhitespace
public boolean isCharacterElementContentWhitespace(int parm1) Description copied from class:DTMDefaultBase
2. [element content whitespace] A boolean indicating whether the character is white space appearing within element content (see [XML], 2.10 "White Space Handling"). Note that validating XML processors are required by XML 1.0 to provide this information. If there is no declaration for the containing element, this property has no value for white space characters. If no declaration has been read, but the [all declarations processed] property of the document information item is false (so there may be an unread declaration), then the value of this property is unknown for white space characters. It is always false for characters that are not white space.- Specified by:
isCharacterElementContentWhitespace
in interfaceDTM
- Overrides:
isCharacterElementContentWhitespace
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
true
if the character data is whitespace;false
otherwise.
-
getFirstChild
public int getFirstChild(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, get the handle of the node's first child. If not yet resolved, waits for more nodes to be added to the document and tries again.- Specified by:
getFirstChild
in interfaceDTM
- Overrides:
getFirstChild
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int DTM node-number of first child, or DTM.NULL to indicate none exists.
-
getDocumentSystemIdentifier
Description copied from class:DTMDefaultBase
Return the system identifier of the document entity. If it is not known, the value of this property is unknown.- Specified by:
getDocumentSystemIdentifier
in interfaceDTM
- Overrides:
getDocumentSystemIdentifier
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- the system identifier String object or null if unknown.
-
getNamespaceFromExpandedNameID
Description copied from class:DTMDefaultBase
Given an expanded-name ID, return the namespace URI part.- Specified by:
getNamespaceFromExpandedNameID
in interfaceDTM
- Overrides:
getNamespaceFromExpandedNameID
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String URI value of this node's namespace, or null if no namespace was resolved.
-
getLocalNameFromExpandedNameID
Description copied from class:DTMDefaultBase
Given an expanded-name ID, return the local name part.- Specified by:
getLocalNameFromExpandedNameID
in interfaceDTM
- Overrides:
getLocalNameFromExpandedNameID
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- String Local name of this node.
-
getExpandedTypeID
public int getExpandedTypeID(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, return an ID that represents the node's expanded name.- Specified by:
getExpandedTypeID
in interfaceDTM
- Overrides:
getExpandedTypeID
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- the expanded-name id of the node.
-
getDocument
public int getDocument()Description copied from class:DTMDefaultBase
Find the Document node handle for the document currently under construction. PLEASE NOTE that most people should use getOwnerDocument(nodeHandle) instead; this version of the operation is primarily intended for use during negotiation with the DTM Manager.- Specified by:
getDocument
in interfaceDTM
- Overrides:
getDocument
in classDTMDefaultBase
- Returns:
- int Node handle of document, which should always be valid.
-
isDocumentAllDeclarationsProcessed
public boolean isDocumentAllDeclarationsProcessed(int parm1) Description copied from class:DTMDefaultBase
10. [all declarations processed] This property is not strictly speaking part of the infoset of the document. Rather it is an indication of whether the processor has read the complete DTD. Its value is a boolean. If it is false, then certain properties (indicated in their descriptions below) may be unknown. If it is true, those properties are never unknown.- Specified by:
isDocumentAllDeclarationsProcessed
in interfaceDTM
- Overrides:
isDocumentAllDeclarationsProcessed
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
true
if all declarations were processed;false
otherwise.
-
getOwnerDocument
public int getOwnerDocument(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, find the owning document node. This has the exact same semantics as the DOM Document method of the same name, in that if the nodeHandle is a document node, it will return NULL.%REVIEW% Since this is DOM-specific, it may belong at the DOM binding layer. Included here as a convenience function and to aid porting of DOM code to DTM.
- Specified by:
getOwnerDocument
in interfaceDTM
- Overrides:
getOwnerDocument
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int Node handle of owning document, or -1 if the node was a Docment
- See Also:
-
getNextSibling
public int getNextSibling(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, advance to its next sibling. If not yet resolved, waits for more nodes to be added to the document and tries again.- Specified by:
getNextSibling
in interfaceDTM
- Overrides:
getNextSibling
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int Node-number of next sibling, or DTM.NULL to indicate none exists.
-
getDocumentAllDeclarationsProcessed
public boolean getDocumentAllDeclarationsProcessed()Description copied from class:DTMDefaultBase
Return an indication of whether the processor has read the complete DTD. Its value is a boolean. If it is false, then certain properties (indicated in their descriptions below) may be unknown. If it is true, those properties are never unknown.- Specified by:
getDocumentAllDeclarationsProcessed
in interfaceDTM
- Overrides:
getDocumentAllDeclarationsProcessed
in classDTMDefaultBase
- Returns:
true
if all declarations were processed;false
otherwise.
-
getParent
public int getParent(int parm1) Description copied from class:DTMDefaultBase
Given a node handle, find its parent node.- Specified by:
getParent
in interfaceDTM
- Overrides:
getParent
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- int Node-number of parent, or DTM.NULL to indicate none exists.
-
getExpandedTypeID
Description copied from class:DTMDefaultBase
Given an expanded name, return an ID. If the expanded-name does not exist in the internal tables, the entry will be created, and the ID will be returned. Any additional nodes that are created that have this expanded name will use this ID.- Specified by:
getExpandedTypeID
in interfaceDTM
- Overrides:
getExpandedTypeID
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-parm3
-- Returns:
- the expanded-name id of the node.
-
setDocumentBaseURI
Description copied from class:DTMDefaultBase
Set the base URI of the document entity.- Specified by:
setDocumentBaseURI
in interfaceDTM
- Overrides:
setDocumentBaseURI
in classDTMDefaultBase
- Parameters:
parm1
-
-
getStringValueChunk
public char[] getStringValueChunk(int parm1, int parm2, int[] parm3) Description copied from class:DTMDefaultBase
Get a character array chunk in the string-value of a node. (see http://www.w3.org/TR/xpath#data-model for the definition of a node's string-value). Note that a single text node may have multiple text chunks.- Specified by:
getStringValueChunk
in interfaceDTM
- Overrides:
getStringValueChunk
in classDTMDefaultBase
- Parameters:
parm1
-parm2
-parm3
-- Returns:
- The character array reference where the chunk occurs.
-
getAxisTraverser
Description copied from class:DTMDefaultBaseTraversers
This returns a stateless "traverser", that can navigate over an XPath axis, though perhaps not in document order.- Specified by:
getAxisTraverser
in interfaceDTM
- Overrides:
getAxisTraverser
in classDTMDefaultBaseTraversers
- Parameters:
parm1
-- Returns:
- A DTMAxisTraverser, or null if the given axis isn't supported.
-
getTypedAxisIterator
Description copied from class:DTMDefaultBaseIterators
Get an iterator that can navigate over an XPath Axis, predicated by the extended type ID. Returns an iterator that must be initialized with a start node (using iterator.setStartNode()).- Specified by:
getTypedAxisIterator
in interfaceDTM
- Overrides:
getTypedAxisIterator
in classDTMDefaultBaseIterators
- Parameters:
parm1
-parm2
-- Returns:
- A DTMAxisIterator, or null if the given axis isn't supported.
-
getAxisIterator
Description copied from class:DTMDefaultBaseIterators
This is a shortcut to the iterators that implement the XPath axes. Returns a bare-bones iterator that must be initialized with a start node (using iterator.setStartNode()).- Specified by:
getAxisIterator
in interfaceDTM
- Overrides:
getAxisIterator
in classDTMDefaultBaseIterators
- Parameters:
parm1
-- Returns:
- A DTMAxisIterator, or null if the given axis isn't supported.
-
getElementById
Description copied from class:DTMDefaultBase
Returns theElement
whoseID
is given byelementId
. If no such element exists, returnsDTM.NULL
. Behavior is not defined if more than one element has thisID
. Attributes (including those with the name "ID") are not of type ID unless so defined by DTD/Schema information available to the DTM implementation. Implementations that do not know whether attributes are of type ID or not are expected to returnDTM.NULL
.%REVIEW% Presumably IDs are still scoped to a single document, and this operation searches only within a single document, right? Wouldn't want collisions between DTMs in the same process.
- Specified by:
getElementById
in interfaceDTM
- Specified by:
getElementById
in classDTMDefaultBase
- Parameters:
parm1
-- Returns:
- The handle of the matching element.
-
getDeclHandler
Description copied from interface:DTM
Return this DTM's DeclHandler, if it has one.- Returns:
- null if this model doesn't respond to SAX Decl events.
-
getErrorHandler
Description copied from interface:DTM
Return this DTM's ErrorHandler, if it has one.- Returns:
- null if this model doesn't respond to SAX error events.
-
getDocumentTypeDeclarationSystemIdentifier
Description copied from class:DTMDefaultBase
A document type declaration information item has the following properties: 1. [system identifier] The system identifier of the external subset, if it exists. Otherwise this property has no value.- Specified by:
getDocumentTypeDeclarationSystemIdentifier
in interfaceDTM
- Specified by:
getDocumentTypeDeclarationSystemIdentifier
in classDTMDefaultBase
- Returns:
- the system identifier String object, or null if there is none.
-