Class DTMDocument
- java.lang.Object
-
- org.apache.xml.dtm.ref.DTMDefaultBase
-
- org.apache.xml.dtm.ref.DTMDefaultBaseTraversers
-
- org.apache.xml.dtm.ref.DTMDefaultBaseIterators
-
- org.apache.xalan.lib.sql.DTMDocument
-
- All Implemented Interfaces:
DTM
- Direct Known Subclasses:
SQLDocument
,SQLErrorDocument
public class DTMDocument extends DTMDefaultBaseIterators
The SQL Document is the main controlling class the executesa SQL Query
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
DTMDocument.CharacterNodeHandler
-
Nested 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 Constructor Description DTMDocument(DTMManager mgr, int ident)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendChild(int parm1, boolean parm2, boolean parm3)
Append a child to the end of the document.void
appendTextChild(java.lang.String parm1)
Append a text node child that will be constructed from a string, to the end of the document.void
dispatchCharactersEvents(int nodeHandle, org.xml.sax.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, org.xml.sax.ContentHandler parm2)
Directly create SAX parser events from a subtree.void
dumpDTM()
int
getAttributeNode(int parm1, java.lang.String parm2, java.lang.String parm3)
Retrieves an attribute node by by qualified name and namespace URI.DTMAxisIterator
getAxisIterator(int parm1)
This is a shortcut to the iterators that implement the XPath axes.DTMAxisTraverser
getAxisTraverser(int parm1)
This returns a stateless "traverser", that can navigate over an XPath axis, though perhaps not in document order.org.xml.sax.ContentHandler
getContentHandler()
Return this DTM's content handler, if it has one.org.xml.sax.ext.DeclHandler
getDeclHandler()
Return this DTM's DeclHandler, if it has one.int
getDocument()
Find the Document node handle for the document currently under construction.boolean
getDocumentAllDeclarationsProcessed()
Return an indication of whether the processor has read the complete DTD.java.lang.String
getDocumentBaseURI()
Return the base URI of the document entity.java.lang.String
getDocumentEncoding(int parm1)
Return the name of the character encoding scheme in which the document entity is expressed.java.lang.String
getDocumentStandalone(int parm1)
Return an indication of the standalone status of the document, either "yes" or "no".java.lang.String
getDocumentSystemIdentifier(int parm1)
Return the system identifier of the document entity.java.lang.String
getDocumentTypeDeclarationPublicIdentifier()
Return the public identifier of the external subset, normalized as described in 4.2.2 External Entities [XML].java.lang.String
getDocumentTypeDeclarationSystemIdentifier()
A document type declaration information item has the following properties: 1.java.lang.String
getDocumentVersion(int parm1)
Return a string representing the XML version of the document.org.xml.sax.DTDHandler
getDTDHandler()
Return this DTM's DTDHandler, if it has one.int
getElementById(java.lang.String parm1)
Returns theElement
whoseID
is given byelementId
.org.xml.sax.EntityResolver
getEntityResolver()
Return this DTM's EntityResolver, if it has one.org.xml.sax.ErrorHandler
getErrorHandler()
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(java.lang.String parm1, java.lang.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).org.xml.sax.ext.LexicalHandler
getLexicalHandler()
Return this DTM's lexical handler, if it has one.java.lang.String
getLocalName(int parm1)
Given a node handle, return its XPath-style localname.java.lang.String
getLocalNameFromExpandedNameID(int parm1)
Given an expanded-name ID, return the local name part.java.lang.String
getNamespaceFromExpandedNameID(int parm1)
Given an expanded-name ID, return the namespace URI part.int
getNamespaceType(int parm1)
Returns the namespace type of a specific nodejava.lang.String
getNamespaceURI(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.org.w3c.dom.Node
getNode(int parm1)
Return an DOM node for the given node.java.lang.String
getNodeName(int parm1)
Given a node handle, return its DOM-style node name.java.lang.String
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.java.lang.String
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.java.lang.String
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.javax.xml.transform.SourceLocator
getSourceLocatorFor(int node)
No source information is available for DOM2DTM, so returnnull
here.XMLString
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.DTMAxisIterator
getTypedAxisIterator(int parm1, int parm2)
Get an iterator that can navigate over an XPath Axis, predicated by the extended type ID.java.lang.String
getUnparsedEntityURI(java.lang.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(java.lang.String parm1, java.lang.String parm2)
Tests whether DTM DOM implementation implements a specific feature and that feature is supported by this node.boolean
needsTwoThreads()
void
setDocumentBaseURI(java.lang.String parm1)
Set the base URI of the document entity.void
setFeature(java.lang.String parm1, boolean parm2)
Set an implementation dependent feature.void
setProperty(java.lang.String property, java.lang.Object value)
For the moment all the run time properties are ignored by this class.boolean
supportsPreStripping()
Event overriding for Debug-
Methods inherited from class org.apache.xml.dtm.ref.DTMDefaultBase
documentRegistration, documentRelease, dumpDTM, dumpNode, getDocumentRoot, getDTMIDs, getManager, getNodeHandle, getNodeIdent, getTypedFirstChild, getTypedNextSibling, makeNodeHandle, makeNodeIdentity, migrateTo
-
-
-
-
Constructor Detail
-
DTMDocument
public DTMDocument(DTMManager mgr, int ident)
- Parameters:
mgr
-ident
-
-
-
Method Detail
-
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
public java.lang.String getNodeValue(int parm1)
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
public XMLString 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).- 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
public void setProperty(java.lang.String property, java.lang.Object value)
For the moment all the run time properties are ignored by this class.- Parameters:
property
- aString
valuevalue
- anObject
value
-
getSourceLocatorFor
public javax.xml.transform.SourceLocator getSourceLocatorFor(int node)
No source information is available for DOM2DTM, so returnnull
here.- Parameters:
node
- anint
value- Returns:
- null
-
getAttributeNode
public int getAttributeNode(int parm1, java.lang.String parm2, java.lang.String parm3)
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
public java.lang.String getLocalName(int parm1)
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
public java.lang.String getNodeName(int parm1)
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
public java.lang.String getUnparsedEntityURI(java.lang.String parm1)
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
public org.xml.sax.DTDHandler 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
public java.lang.String getPrefix(int parm1)
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
public org.xml.sax.EntityResolver 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
public java.lang.String 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
public org.xml.sax.ext.LexicalHandler 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
public org.xml.sax.ContentHandler 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
public void dispatchToEvents(int parm1, org.xml.sax.ContentHandler parm2) throws org.xml.sax.SAXException
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:
org.xml.sax.SAXException
-
getNamespaceURI
public java.lang.String getNamespaceURI(int parm1)
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, org.xml.sax.ContentHandler ch, boolean normalize) throws org.xml.sax.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:
org.xml.sax.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
public org.w3c.dom.Node getNode(int parm1)
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
public java.lang.String getDocumentStandalone(int parm1)
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
public java.lang.String getNodeNameX(int parm1)
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
public void setFeature(java.lang.String parm1, boolean parm2)
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
public java.lang.String getDocumentVersion(int parm1)
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
public boolean isSupported(java.lang.String parm1, java.lang.String parm2)
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
public java.lang.String getDocumentEncoding(int parm1)
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
public java.lang.String 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
public void appendTextChild(java.lang.String parm1)
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
public java.lang.String getDocumentSystemIdentifier(int parm1)
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
public java.lang.String getNamespaceFromExpandedNameID(int parm1)
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
public java.lang.String getLocalNameFromExpandedNameID(int parm1)
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:
DTM.getDocumentRoot(int nodeHandle)
-
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
public int getExpandedTypeID(java.lang.String parm1, java.lang.String parm2, int parm3)
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
public void setDocumentBaseURI(java.lang.String parm1)
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
public DTMAxisTraverser getAxisTraverser(int parm1)
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
public DTMAxisIterator getTypedAxisIterator(int parm1, int parm2)
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
public DTMAxisIterator getAxisIterator(int parm1)
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
public int getElementById(java.lang.String parm1)
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
public org.xml.sax.ext.DeclHandler 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
public org.xml.sax.ErrorHandler 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
public java.lang.String 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.
-
-