org.apache.xalan.lib.sql
Class DTMDocument

java.lang.Object
  extended by org.apache.xml.dtm.ref.DTMDefaultBase
      extended by org.apache.xml.dtm.ref.DTMDefaultBaseTraversers
          extended by org.apache.xml.dtm.ref.DTMDefaultBaseIterators
              extended by 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
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
DTMDocument(DTMManager mgr, int ident)
           
 
Method Summary
 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 the Element whose ID is given by elementId.
 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 node
 java.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 return null 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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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 interface DTM
Overrides:
getFirstAttribute in class DTMDefaultBase
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 interface DTM
Specified by:
getNodeValue in class DTMDefaultBase
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 interface DTM
Specified by:
getStringValue in class DTMDefaultBase
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 interface DTM
Overrides:
getNextAttribute in class DTMDefaultBase
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 - a String value
value - an Object value

getSourceLocatorFor

public javax.xml.transform.SourceLocator getSourceLocatorFor(int node)
No source information is available for DOM2DTM, so return null here.

Parameters:
node - an int 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 interface DTM
Specified by:
getAttributeNode in class DTMDefaultBase
Parameters:
parm1 -
parm2 -
parm3 -
Returns:
The attribute node handle with the specified name ( nodeName) or DTM.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 interface DTM
Specified by:
getLocalName in class DTMDefaultBase
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 interface DTM
Specified by:
getNodeName in class DTMDefaultBase
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 interface DTM
Specified by:
isAttributeSpecified in class DTMDefaultBase
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 interface DTM
Specified by:
getUnparsedEntityURI in class DTMDefaultBase
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 interface DTM
Specified by:
getPrefix in class DTMDefaultBase
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 interface DTM
Specified by:
getDocumentTypeDeclarationPublicIdentifier in class DTMDefaultBase
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 interface DTM
Specified by:
dispatchToEvents in class DTMDefaultBase
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 interface DTM
Specified by:
getNamespaceURI in class DTMDefaultBase
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 interface DTM
Specified by:
dispatchCharactersEvents in class DTMDefaultBase
Parameters:
nodeHandle -
ch -
normalize -
Throws:
org.xml.sax.SAXException

supportsPreStripping

public boolean supportsPreStripping()
Event overriding for Debug

Specified by:
supportsPreStripping in interface DTM
Overrides:
supportsPreStripping in class DTMDefaultBase
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 interface DTM
Overrides:
getNode in class DTMDefaultBase
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 interface DTM
Overrides:
getPreviousSibling in class DTMDefaultBase
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 interface DTM
Overrides:
getDocumentStandalone in class DTMDefaultBase
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 interface DTM
Overrides:
getNodeNameX in class DTMDefaultBase
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 interface DTM
Overrides:
setFeature in class DTMDefaultBase
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 interface DTM
Overrides:
isNodeAfter in class DTMDefaultBase
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 class DTMDefaultBase
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 interface DTM
Overrides:
getDocumentVersion in class DTMDefaultBase
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 interface DTM
Overrides:
isSupported in class DTMDefaultBase
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 interface DTM
Overrides:
getDocumentEncoding in class DTMDefaultBase
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 interface DTM
Overrides:
appendChild in class DTMDefaultBase
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 interface DTM
Overrides:
getLevel in class DTMDefaultBase
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 interface DTM
Overrides:
getDocumentBaseURI in class DTMDefaultBase
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 interface DTM
Overrides:
getNextNamespaceNode in class DTMDefaultBase
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 interface DTM
Overrides:
appendTextChild in class DTMDefaultBase
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 interface DTM
Overrides:
getFirstNamespaceNode in class DTMDefaultBase
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 interface DTM
Overrides:
getStringValueChunkCount in class DTMDefaultBase
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 interface DTM
Overrides:
getLastChild in class DTMDefaultBase
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 interface DTM
Overrides:
hasChildNodes in class DTMDefaultBase
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 interface DTM
Overrides:
getNodeType in class DTMDefaultBase
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 interface DTM
Overrides:
isCharacterElementContentWhitespace in class DTMDefaultBase
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 interface DTM
Overrides:
getFirstChild in class DTMDefaultBase
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 interface DTM
Overrides:
getDocumentSystemIdentifier in class DTMDefaultBase
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 interface DTM
Overrides:
getNamespaceFromExpandedNameID in class DTMDefaultBase
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 interface DTM
Overrides:
getLocalNameFromExpandedNameID in class DTMDefaultBase
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 interface DTM
Overrides:
getExpandedTypeID in class DTMDefaultBase
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 interface DTM
Overrides:
getDocument in class DTMDefaultBase
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 interface DTM
Overrides:
isDocumentAllDeclarationsProcessed in class DTMDefaultBase
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 interface DTM
Overrides:
getOwnerDocument in class DTMDefaultBase
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 interface DTM
Overrides:
getNextSibling in class DTMDefaultBase
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 interface DTM
Overrides:
getDocumentAllDeclarationsProcessed in class DTMDefaultBase
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 interface DTM
Overrides:
getParent in class DTMDefaultBase
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 interface DTM
Overrides:
getExpandedTypeID in class DTMDefaultBase
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 interface DTM
Overrides:
setDocumentBaseURI in class DTMDefaultBase
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 interface DTM
Overrides:
getStringValueChunk in class DTMDefaultBase
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 interface DTM
Overrides:
getAxisTraverser in class DTMDefaultBaseTraversers
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 interface DTM
Overrides:
getTypedAxisIterator in class DTMDefaultBaseIterators
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 interface DTM
Overrides:
getAxisIterator in class DTMDefaultBaseIterators
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 the Element whose ID is given by elementId. If no such element exists, returns DTM.NULL. Behavior is not defined if more than one element has this ID. 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 return DTM.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 interface DTM
Specified by:
getElementById in class DTMDefaultBase
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 interface DTM
Specified by:
getDocumentTypeDeclarationSystemIdentifier in class DTMDefaultBase
Returns:
the system identifier String object, or null if there is none.


Copyright ? 2005 Apache XML Project. All Rights Reserved.