Package org.exolab.adaptx.xpath
Class XPathNode
java.lang.Object
org.exolab.adaptx.xpath.XPathNode
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
Attribute
,Comment
,DocumentWrapperXPathNode
,Element
,Namespace
,ProcessingInstruction
,Root
,Text
Abstract class representing a node in a document tree, on which
XPath expressions can be evaluated. This abstract class provides
all the services required by XPath, and enables multiple
implementations to exist. It does not make use of iterators or
traversals, but assumes double-linked lists are used to maintain
node lists.
- Version:
- $Revision: 3633 $
- Author:
- Keith Visco, Assaf Arkin
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
Node is an attribute.static final int
Node is a comment.static final int
Node is an element.static final int
Node is a namespace node.static final int
Node is a processing instruction.static final int
Node is a root node.static final int
Node is a text node. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract String
getAttribute
(String uri, String local) Returns the value of the named attribute, or null if the node has no such attribute.abstract XPathNode
Returns the first in a list of attribute nodes, or null if the node has no attributes.abstract XPathNode
Returns the first child node of this node, or null if the node has no children.abstract XPathNode
Returns the first in a list of namespace nodes, or null if the node has no namespaces.abstract String
Returns the local name of the node.abstract String
getNamespacePrefix
(String uri) Returns the namespace prefix associated with this namespace URI, as defined in the context of this node.abstract String
Returns the namespace URI the node.abstract String
getNamespaceURI
(String prefix) Returns the namespace URI associated with this namespace prefix, as defined in the context of this node.abstract XPathNode
getNext()
Returns the next sibling node in document order, or null if this node is the last node.abstract int
Returns the type of this node.abstract XPathNode
Returns the parent node, or null if the node has no parent.abstract XPathNode
Returns the previous sibling node in document order, or null if this node is the first node.abstract XPathNode
Returns the root node.abstract String
Returns the string value of the node.abstract boolean
Returns true if this node has any child nodes.
-
Field Details
-
ELEMENT
public static final int ELEMENTNode is an element.- See Also:
-
ATTRIBUTE
public static final int ATTRIBUTENode is an attribute.- See Also:
-
TEXT
public static final int TEXTNode is a text node.- See Also:
-
PI
public static final int PINode is a processing instruction.- See Also:
-
COMMENT
public static final int COMMENTNode is a comment.- See Also:
-
ROOT
public static final int ROOTNode is a root node.- See Also:
-
NAMESPACE
public static final int NAMESPACENode is a namespace node.- See Also:
-
-
Constructor Details
-
XPathNode
public XPathNode()
-
-
Method Details
-
getFirstChild
Returns the first child node of this node, or null if the node has no children. Child nodes are only returned for an element or root node.- Returns:
- The first child node of this node, or null
-
hasChildNodes
public abstract boolean hasChildNodes()Returns true if this node has any child nodes.- Returns:
- True if this node has any child nodes.
-
getNext
Returns the next sibling node in document order, or null if this node is the last node. This method is value for any node except the root node.- Returns:
- The next sibling node in document order, or null
-
getPrevious
Returns the previous sibling node in document order, or null if this node is the first node. This method can is valid for any node except the root node.- Returns:
- The previous sibling node in document order, or null
-
getNodeType
public abstract int getNodeType()Returns the type of this node.- Returns:
- The type of this node
-
getFirstAttribute
Returns the first in a list of attribute nodes, or null if the node has no attributes. This method is valid only for the element node.- Returns:
- The first in a list of attribute nodes, or null
-
getAttribute
Returns the value of the named attribute, or null if the node has no such attribute. If the argument uri is null, the node's namespace URI will be used. This method is valid only for the element node.- Parameters:
uri
- The attribute's namespace URI, or nulllocal
- The attribute's local name- Returns:
- The attribute's value, or null if no such attribute exists
-
getFirstNamespace
Returns the first in a list of namespace nodes, or null if the node has no namespaces. This method is valid only for the element node.- Returns:
- The first in a list of namespace nodes, or null
-
getLocalName
Returns the local name of the node. Returns the local name of an element or attribute, the prefix of a namespace node, the target of a processing instruction, or null for all other node types.- Returns:
- The local name of the node, or null if the node has no name
-
getNamespaceURI
Returns the namespace URI the node. Returns the namespace URI of an element, attribute or namespace node, or null for all other node types.- Returns:
- The namespace URI of the node, or null if the node has no namespace URI
-
getParentNode
Returns the parent node, or null if the node has no parent. This method is valid on all node types except the root node. Attribute and namespace nodes have the element as their parent node.- Returns:
- The parent node, or null
-
getRootNode
Returns the root node. Note to implementors: This should NOT return null.- Returns:
- The root node
-
getStringValue
Returns the string value of the node. The string value of a text node or an attribute node is it's text value. The string value of an element or a root node is the concatenation of the string value of all its child nodes. The string value of a namespace node is its namespace URI. The string value of a processing instruction is the instruction, and the string value of a comment is the comment text.- Returns:
- The string value of the node
-
getNamespaceURI
Returns the namespace URI associated with this namespace prefix, as defined in the context of this node. Returns null if the prefix is undefined. Returns empty if the prefix is defined and associated with no namespace. This method is valid only for element nodes.- Parameters:
prefix
- The namespace prefix- Returns:
- The namespace URI, or null
-
getNamespacePrefix
Returns the namespace prefix associated with this namespace URI, as defined in the context of this node. Returns null if no prefix is defined for this namespace URI. Returns an empty string if the default prefix is associated with this namespace URI. This method is valid only for element nodes.- Parameters:
uri
- The namespace URI- Returns:
- The namespace prefix, or null
-