| java.lang.Object net.sf.saxon.jdom.NodeWrapper
All known Subclasses: net.sf.saxon.jdom.DocumentWrapper,
NodeWrapper | public class NodeWrapper implements NodeInfo,VirtualNode,SiblingCountingNode(Code) | | A node in the XML parse tree representing an XML element, character content, or attribute.
This is the implementation of the NodeInfo interface used as a wrapper for JDOM nodes.
author: Michael H. Kay |
Method Summary | |
public Value | atomize() Get the typed value. | public int | compareOrder(NodeInfo other) Determine the relative position of this node and another node, in document order.
The other node will always be in the same document.
Parameters: other - The other node, whose position is to be compared with this node -1 if this node precedes the other node, +1 if it follows the othernode, or 0 if they are the same node. | public void | copy(Receiver out, int whichNamespaces, boolean copyAnnotations, int locationId) | public String | generateId() Get a character string that uniquely identifies this node. | public String | getAttributeValue(int fingerprint) | public String | getBaseURI() Get the Base URI for the node, that is, the URI used for resolving a relative URI contained
in the node. | public Configuration | getConfiguration() | public int[] | getDeclaredNamespaces(int[] buffer) Get all namespace undeclarations and undeclarations defined on this element.
Parameters: buffer - If this is non-null, and the result array fits in this buffer, then the resultmay overwrite the contents of this array, to avoid the cost of allocating a new array on the heap. | public String | getDisplayName() Get the display name of this node. | public int | getDocumentNumber() Get the document number of the document containing this node. | public DocumentInfo | getDocumentRoot() | public int | getFingerprint() Get fingerprint. | public int | getLineNumber() | public String | getLocalPart() Get the local part of the name of this node. | public int | getNameCode() Get name code. | public NamePool | getNamePool() | public int | getNodeKind() Return the type of node. | public NodeInfo | getParent() | public String | getPrefix() Get the prefix part of the name of this node. | public NodeInfo | getRoot() | public int | getSiblingPosition() Get the index position of this node among its siblings (starting from 0)
In the case of a text node that maps to several adjacent siblings in the JDOM,
the numbering actually refers to the position of the underlying JDOM nodes;
thus the sibling position for the text node is that of the first JDOM node
to which it relates, and the numbering of subsequent XPath nodes is not necessarily
consecutive. | public String | getStringValue() Return the string value of the node. | public CharSequence | getStringValueCS() Get the value of the item as a CharSequence. | public String | getSystemId() Get the System ID for the node.
the System Identifier of the entity in the source document containing the node,or null if not known. | public int | getTypeAnnotation() | public SequenceIterator | getTypedValue() | public String | getURI() Get the URI part of the name of this node. | public Object | getUnderlyingNode() | public boolean | hasChildNodes() Determine whether the node has any children. | public boolean | isSameNodeInfo(NodeInfo other) Determine whether this is the same node as another node. | public AxisIterator | iterateAxis(byte axisNumber) | public AxisIterator | iterateAxis(byte axisNumber, NodeTest nodeTest) | protected NodeWrapper | makeWrapper(Object node, DocumentWrapper docWrapper) Factory method to wrap a JDOM node with a wrapper that implements the Saxon
NodeInfo interface. | protected NodeWrapper | makeWrapper(Object node, DocumentWrapper docWrapper, NodeWrapper parent, int index) Factory method to wrap a JDOM node with a wrapper that implements the Saxon
NodeInfo interface. | public void | sendNamespaceDeclarations(Receiver out, boolean includeAncestors) Output all namespace nodes associated with this element. | public void | setSystemId(String uri) |
index | protected int index(Code) | | |
nodeKind | protected short nodeKind(Code) | | |
NodeWrapper | protected NodeWrapper(Object node, NodeWrapper parent, int index)(Code) | | This constructor is protected: nodes should be created using the wrap
factory method on the DocumentWrapper class
Parameters: node - The JDOM node to be wrapped Parameters: parent - The NodeWrapper that wraps the parent of this node Parameters: index - Position of this node among its siblings |
atomize | public Value atomize() throws XPathException(Code) | | Get the typed value. The result of this method will always be consistent with the method
net.sf.saxon.om.Item.getTypedValue . However, this method is often more convenient and may be
more efficient, especially in the common case where the value is expected to be a singleton.
the typed value. If requireSingleton is set to true, the result will always be anAtomicValue. In other cases it may be a Value representing a sequence whose items are atomicvalues. since: 8.5 |
compareOrder | public int compareOrder(NodeInfo other)(Code) | | Determine the relative position of this node and another node, in document order.
The other node will always be in the same document.
Parameters: other - The other node, whose position is to be compared with this node -1 if this node precedes the other node, +1 if it follows the othernode, or 0 if they are the same node. (In this case, isSameNode() will alwaysreturn true, and the two nodes will produce the same result for generateId()) |
copy | public void copy(Receiver out, int whichNamespaces, boolean copyAnnotations, int locationId) throws XPathException(Code) | | Copy this node to a given outputter (deep copy)
|
generateId | public String generateId()(Code) | | Get a character string that uniquely identifies this node.
Note: a.isSameNode(b) if and only if generateId(a)==generateId(b)
a string that uniquely identifies this node, across alldocuments |
getAttributeValue | public String getAttributeValue(int fingerprint)(Code) | | Get the value of a given attribute of this node
Parameters: fingerprint - The fingerprint of the attribute name the attribute value if it exists, or null if not |
getBaseURI | public String getBaseURI()(Code) | | Get the Base URI for the node, that is, the URI used for resolving a relative URI contained
in the node. In the JDOM model, base URIs are held only an the document level.
|
getDeclaredNamespaces | public int[] getDeclaredNamespaces(int[] buffer)(Code) | | Get all namespace undeclarations and undeclarations defined on this element.
Parameters: buffer - If this is non-null, and the result array fits in this buffer, then the resultmay overwrite the contents of this array, to avoid the cost of allocating a new array on the heap. An array of integers representing the namespace declarations and undeclarations present onthis element. For a node other than an element, return null. Otherwise, the returned array is asequence of namespace codes, whose meaning may be interpreted by reference to the name pool. Thetop half word of each namespace code represents the prefix, the bottom half represents the URI.If the bottom half is zero, then this is a namespace undeclaration rather than a declaration.The XML namespace is never included in the list. If the supplied array is larger than required,then the first unused entry will be set to -1.For a node other than an element, the method returns null. |
getDisplayName | public String getDisplayName()(Code) | | Get the display name of this node. For elements and attributes this is [prefix:]localname.
For unnamed nodes, it is an empty string.
The display name of this node.For a node with no name, return an empty string. |
getDocumentNumber | public int getDocumentNumber()(Code) | | Get the document number of the document containing this node. For a free-standing
orphan node, just return the hashcode.
|
getDocumentRoot | public DocumentInfo getDocumentRoot()(Code) | | Get the root (document) node
the DocumentInfo representing the containing document |
getFingerprint | public int getFingerprint()(Code) | | Get fingerprint. The fingerprint is a coded form of the expanded name
of the node: two nodes
with the same name code have the same namespace URI and the same local name.
A fingerprint of -1 should be returned for a node with no name.
|
getLineNumber | public int getLineNumber()(Code) | | Get line number
the line number of the node in its original source document; or -1 if not available.Always returns -1 in this implementation. |
getLocalPart | public String getLocalPart()(Code) | | Get the local part of the name of this node. This is the name after the ":" if any.
the local part of the name. For an unnamed node, returns "". |
getNameCode | public int getNameCode()(Code) | | Get name code. The name code is a coded form of the node name: two nodes
with the same name code have the same namespace URI, the same local name,
and the same prefix. By masking the name code with &0xfffff, you get a
fingerprint: two nodes with the same fingerprint have the same local name
and namespace URI.
See Also: net.sf.saxon.om.NamePool.allocate See Also: allocate |
getNamePool | public NamePool getNamePool()(Code) | | Get the name pool for this node
the NamePool |
getNodeKind | public int getNodeKind()(Code) | | Return the type of node.
one of the values Node.ELEMENT, Node.TEXT, Node.ATTRIBUTE, etc. |
getParent | public NodeInfo getParent()(Code) | | Get the NodeInfo object representing the parent of this node
|
getPrefix | public String getPrefix()(Code) | | Get the prefix part of the name of this node. This is the name before the ":" if any.
(Note, this method isn't required as part of the NodeInfo interface.)
the prefix part of the name. For an unnamed node, return an empty string. |
getRoot | public NodeInfo getRoot()(Code) | | Get the root node - always a document node with this tree implementation
the NodeInfo representing the containing document |
getSiblingPosition | public int getSiblingPosition()(Code) | | Get the index position of this node among its siblings (starting from 0)
In the case of a text node that maps to several adjacent siblings in the JDOM,
the numbering actually refers to the position of the underlying JDOM nodes;
thus the sibling position for the text node is that of the first JDOM node
to which it relates, and the numbering of subsequent XPath nodes is not necessarily
consecutive.
|
getStringValue | public String getStringValue()(Code) | | Return the string value of the node. The interpretation of this depends on the type
of node. For an element it is the accumulated character content of the element,
including descendant elements.
the string value of the node |
getStringValueCS | public CharSequence getStringValueCS()(Code) | | Get the value of the item as a CharSequence. This is in some cases more efficient than
the version of the method that returns a String.
|
getSystemId | public String getSystemId()(Code) | | Get the System ID for the node.
the System Identifier of the entity in the source document containing the node,or null if not known. Note this is not the same as the base URI: the base URI can bemodified by xml:base, but the system ID cannot. |
getTypeAnnotation | public int getTypeAnnotation()(Code) | | Get the type annotation
-1 (there is no type annotation) |
getURI | public String getURI()(Code) | | Get the URI part of the name of this node. This is the URI corresponding to the
prefix, or the URI of the default namespace if appropriate.
The URI of the namespace of this node. For an unnamed node,or for a node with an empty prefix, return an emptystring. |
getUnderlyingNode | public Object getUnderlyingNode()(Code) | | Get the underlying JDOM node, to implement the VirtualNode interface
|
hasChildNodes | public boolean hasChildNodes()(Code) | | Determine whether the node has any children.
Note: the result is equivalent to
getEnumeration(Axis.CHILD, AnyNodeTest.getInstance()).hasNext()
|
isSameNodeInfo | public boolean isSameNodeInfo(NodeInfo other)(Code) | | Determine whether this is the same node as another node.
Note: a.isSameNode(b) if and only if generateId(a)==generateId(b)
true if this Node object and the supplied Node object represent thesame node in the tree. |
iterateAxis | public AxisIterator iterateAxis(byte axisNumber)(Code) | | Return an iteration over the nodes reached by the given axis from this node
Parameters: axisNumber - the axis to be used a SequenceIterator that scans the nodes reached by the axis in turn. |
iterateAxis | public AxisIterator iterateAxis(byte axisNumber, NodeTest nodeTest)(Code) | | Return an iteration over the nodes reached by the given axis from this node
Parameters: axisNumber - the axis to be used Parameters: nodeTest - A pattern to be matched by the returned nodes a SequenceIterator that scans the nodes reached by the axis in turn. |
makeWrapper | protected NodeWrapper makeWrapper(Object node, DocumentWrapper docWrapper)(Code) | | Factory method to wrap a JDOM node with a wrapper that implements the Saxon
NodeInfo interface.
Parameters: node - The JDOM node Parameters: docWrapper - The wrapper for the Document containing this node The new wrapper for the supplied node |
makeWrapper | protected NodeWrapper makeWrapper(Object node, DocumentWrapper docWrapper, NodeWrapper parent, int index)(Code) | | Factory method to wrap a JDOM node with a wrapper that implements the Saxon
NodeInfo interface.
Parameters: node - The JDOM node Parameters: docWrapper - The wrapper for the Document containing this node Parameters: parent - The wrapper for the parent of the JDOM node Parameters: index - The position of this node relative to its siblings The new wrapper for the supplied node |
sendNamespaceDeclarations | public void sendNamespaceDeclarations(Receiver out, boolean includeAncestors) throws XPathException(Code) | | Output all namespace nodes associated with this element. Does nothing if
the node is not an element.
Parameters: out - The relevant outputter Parameters: includeAncestors - True if namespaces declared on ancestor elements must |
|
|