net.sf.saxon.tree
abstract class ParentNodeImpl extends NodeImpl
Field Summary | |
---|---|
protected Object | children |
protected int | sequence |
Method Summary | |
---|---|
void | addChild(NodeImpl node, int index)
Add a child node to this node. |
void | compact(int size)
Compact the space used by this node |
protected AxisIterator | enumerateChildren(NodeTest test)
Get an enumeration of the children of this node |
NodeInfo | getFirstChild()
Get the first child node of the element |
NodeInfo | getLastChild()
Get the last child node of the element |
protected NodeImpl | getNthChild(int n)
Get the nth child node of the element (numbering from 0) |
int | getNumberOfChildren()
Determine how many children the node has |
protected long | getSequenceNumber()
Get the node sequence number (in document order). |
String | getStringValue()
Return the string-value of the node, that is, the concatenation
of the character content of all descendent elements and text nodes. |
CharSequence | getStringValueCS() |
boolean | hasChildNodes()
Determine if the node has any children. |
void | insertChildren(NodeInfo[] source, boolean atStart, boolean inherit)
Insert copies of a sequence of nodes as children of this node.
|
protected void | insertChildrenAt(NodeInfo[] source, int index, boolean inherit)
Insert children before or after a given existing child |
protected void | removeChild(NodeImpl child)
Remove a given child |
protected void | replaceChildrenAt(NodeInfo[] source, int index, boolean inherit)
Replace child at a given index by new children |
protected void | useChildrenArray(NodeImpl[] array)
Supply an array to be used for the array of children. |
Parameters: node the node to be added as a child of this node index the position where the child is to be added
Parameters: size the number of actual children
Parameters: test A NodeTest to be satisfied by the child nodes, or null if all child node are to be returned
Returns: an iterator over the children of this node
Returns: the first child node of the required type, or null if there are no children
Returns: the last child of the element, or null if there are no children
Parameters: n identifies the required child
Returns: the last child of the element, or null if there is no n'th child
Returns: the number of children of this parent node
Returns: the sequence number if there is one, or -1L otherwise.
Returns: the accumulated character content of the element, including descendant elements.
This method takes no action unless the target node is a document node or element node. It also takes no action in respect of any supplied nodes that are not elements, text nodes, comments, or processing instructions.
The supplied nodes will be copied to form the new children. Adjacent text nodes will be merged, and zero-length text nodes removed.
Parameters: source the nodes to be inserted atStart true if the new nodes are to be inserted before existing children; false if they are inherit true if the inserted nodes are to inherit the namespaces that are in-scope for their new parent; false if such namespaces should be undeclared on the children
Parameters: source the children to be inserted index the position before which they are to be inserted: 0 indicates insertion before the first child, 1 insertion before the second child, and so on. inherit true if the inserted nodes are to inherit the namespaces that are in-scope for their new parent; false if such namespaces should be undeclared on the children
Parameters: child the child to be removed
Parameters: source the children to be inserted index the position at which they are to be inserted: 0 indicates replacement of the first child, replacement of the second child, and so on. The effect is undefined if index is out of range inherit set to true if the new child elements are to inherit the in-scope namespaces of their new parent
Throws: IllegalArgumentException if any of the replacement nodes is not an element, text, comment, or processing instruction node
Parameters: array the array to be used