Class ParentNodeImpl
java.lang.Object
com.icl.saxon.om.AbstractNode
com.icl.saxon.tree.NodeImpl
com.icl.saxon.tree.ParentNodeImpl
- All Implemented Interfaces:
NodeInfo, DOMLocator, Source, SourceLocator, Node
- Direct Known Subclasses:
DocumentImpl, ElementImpl
ParentNodeImpl is an implementation of a non-leaf node (specifically, an Element node
or a Document node)
- Author:
- Michael H. Kay
-
Field Summary
FieldsFields inherited from class NodeImpl
emptyArray, index, parentFields inherited from class AbstractNode
NODE_LETTERFields inherited from interface Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a child node to this node.voidcompact(int size) Compact the space used by this nodevoidcopyStringValue(Outputter out) Copy the string-value of this node to a given outputtervoidDrop a branch of the tree.final AxisEnumerationenumerateChildren(NodeTest test) Get an enumeration of the children of this nodefinal NodeListReturn aNodeListthat contains all children of this node.final NodeGet the first child node of the elementfinal NodeGet the last child node of the elementGet the node value as defined in the DOM.protected final NodeImplgetNthChild(int n) Get the nth child node of the element (numbering from 0)protected final longGet the node sequence number (in document order).Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.final booleanDetermine if the node has any children.voidremoveChild(int index) Remove node at given index.voidRenumber the children of a given parent node.voiduseChildrenArray(NodeImpl[] array) Supply an array to be used for the array of children.Methods inherited from class NodeImpl
compareOrder, generateId, getAttributes, getAttributeValue, getAttributeValue, getBaseURI, getDisplayName, getDocumentElement, getDocumentRoot, getEnumeration, getFingerprint, getLineNumber, getLocalName, getNameCode, getNamePool, getNextInDocument, getNextSibling, getOriginatingNode, getParent, getPrefix, getPreviousInDocument, getPreviousSibling, getSystemId, getURI, hasAttributes, isSameNodeInfo, outputNamespaceNodes, removeNode, setSystemIdMethods inherited from class AbstractNode
appendChild, appendData, cloneNode, compareDocumentPosition, createAttribute, createAttributeNS, createCDATASection, createComment, createDocumentFragment, createElement, createElementNS, createEntityReference, createProcessingInstruction, createTextNode, deleteData, disallowUpdate, getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getColumnNumber, getData, getDoctype, getElementById, getElementsByTagName, getElementsByTagNameNS, getFeature, getImplementation, getLength, getName, getNamespaceURI, getNodeName, getOwnerDocument, getOwnerElement, getParentNode, getPublicId, getSchemaTypeInfo, getSpecified, getTagName, getTextContent, getUserData, getValue, getWholeText, hasAttribute, hasAttributeNS, importNode, insertBefore, insertData, isDefaultNamespace, isElementContentWhitespace, isEqualNode, isId, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeAttribute, removeAttributeNode, removeAttributeNS, removeChild, replaceChild, replaceData, replaceWholeText, setAttributeNode, setAttributeNodeNS, setAttributeNS, setData, setIdAttribute, setIdAttributeNode, setIdAttributeNS, setNodeValue, setPrefix, setTextContent, setUserData, setValue, splitText, substringData, supportsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Node
getNodeTypeMethods inherited from interface NodeInfo
copy, getNodeType
-
Field Details
-
sequence
protected int sequence
-
-
Constructor Details
-
ParentNodeImpl
ParentNodeImpl()
-
-
Method Details
-
getSequenceNumber
protected final long getSequenceNumber()Get the node sequence number (in document order). Sequence numbers are monotonic but not consecutive. In the current implementation, parent nodes (elements and roots) have a zero least-significant word, while namespaces, attributes, text nodes, comments, and PIs have the top word the same as their owner and the bottom half reflecting their relative position.- Overrides:
getSequenceNumberin classNodeImpl
-
hasChildNodes
public final boolean hasChildNodes()Determine if the node has any children.- Specified by:
hasChildNodesin interfaceNode- Specified by:
hasChildNodesin interfaceNodeInfo- Overrides:
hasChildNodesin classNodeImpl- Returns:
trueif the node has any children,falseif the node has no children.
-
enumerateChildren
Get an enumeration of the children of this node -
getFirstChild
Get the first child node of the element- Specified by:
getFirstChildin interfaceNode- Overrides:
getFirstChildin classNodeImpl- Returns:
- the first child node of the required type, or null if there are no children
-
getLastChild
Get the last child node of the element- Specified by:
getLastChildin interfaceNode- Overrides:
getLastChildin classNodeImpl- Returns:
- the last child of the element, or null if there are no children
-
getChildNodes
Return aNodeListthat contains all children of this node. If there are no children, this is aNodeListcontaining no nodes.- Specified by:
getChildNodesin interfaceNode- Overrides:
getChildNodesin classNodeImpl
-
getNthChild
Get the nth child node of the element (numbering from 0)- Returns:
- the last child of the element, or null if there is no n'th child
-
getStringValue
Return the string-value of the node, that is, the concatenation of the character content of all descendent elements and text nodes.- Returns:
- the accumulated character content of the element, including descendant elements.
-
copyStringValue
Copy the string-value of this node to a given outputter- Specified by:
copyStringValuein interfaceNodeInfo- Overrides:
copyStringValuein classAbstractNode- Throws:
TransformerException
-
useChildrenArray
Supply an array to be used for the array of children. For system use only. -
addChild
Add a child node to this node. For system use only. Note: normalizing adjacent text nodes is the responsibility of the caller. -
removeChild
public void removeChild(int index) Remove node at given index. Will always be followed by a renumberChildren(). -
renumberChildren
public void renumberChildren()Renumber the children of a given parent node. For system use only -
dropChildren
public void dropChildren()Drop a branch of the tree. The target element remains in the tree, but its children are disconnected from the parent. Unless there are other references to the children (e.g. in a variable) they will be deleted from memory next time the garbage collector comes round. -
compact
public void compact(int size) Compact the space used by this node -
getNodeValue
Get the node value as defined in the DOM. This is not the same as the XPath string-value.- Specified by:
getNodeValuein interfaceNode- Overrides:
getNodeValuein classAbstractNode
-