Package org.jaxen.xom
Class DocumentNavigator
- java.lang.Object
-
- org.jaxen.DefaultNavigator
-
- org.jaxen.xom.DocumentNavigator
-
- All Implemented Interfaces:
java.io.Serializable
,Navigator
public class DocumentNavigator extends DefaultNavigator
Interface for navigating around the XOM object model.This class is not intended for direct usage, but is used by the Jaxen engine during evaluation.
- See Also:
XPath
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DocumentNavigator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator
getAttributeAxisIterator(java.lang.Object o)
ThrowsUnsupportedAxisException
.java.lang.String
getAttributeName(java.lang.Object o)
Retrieve the local name of the given attribute node.java.lang.String
getAttributeNamespaceUri(java.lang.Object o)
Retrieve the namespace URI of the given attribute node.java.lang.String
getAttributeQName(java.lang.Object o)
Retrieve the qualified name of the given attribute node.java.lang.String
getAttributeStringValue(java.lang.Object o)
Retrieve the string-value of an attribute node.java.util.Iterator
getChildAxisIterator(java.lang.Object o)
ThrowsUnsupportedAxisException
java.lang.String
getCommentStringValue(java.lang.Object o)
Retrieve the string-value of a comment node.java.lang.Object
getDocument(java.lang.String s)
Default implementation that always returns null.java.lang.Object
getDocumentNode(java.lang.Object o)
Returns the document node that contains the given context node.java.lang.String
getElementName(java.lang.Object o)
Retrieve the local name of the given element node.java.lang.String
getElementNamespaceUri(java.lang.Object o)
Retrieve the namespace URI of the given element node.java.lang.String
getElementQName(java.lang.Object o)
Retrieve the qualified name of the given element node.java.lang.String
getElementStringValue(java.lang.Object o)
Retrieve the string-value of an element node.java.util.Iterator
getNamespaceAxisIterator(java.lang.Object o)
ThrowsUnsupportedAxisException
.java.lang.String
getNamespacePrefix(java.lang.Object o)
Retrieve the namespace prefix of a namespace node.java.lang.String
getNamespaceStringValue(java.lang.Object o)
Retrieve the string-value of a namespace node.java.util.Iterator
getParentAxisIterator(java.lang.Object o)
ThrowsUnsupportedAxisException
java.lang.Object
getParentNode(java.lang.Object o)
Default inefficient implementation.java.util.Iterator
getPrecedingAxisIterator(java.lang.Object o)
Retrieve anIterator
matching thepreceding
XPath axis.java.util.Iterator
getPrecedingSiblingAxisIterator(java.lang.Object o)
Retrieve anIterator
matching thepreceding-sibling
XPath axis.java.lang.String
getProcessingInstructionData(java.lang.Object o)
Retrieve the data of a processing-instruction.java.lang.String
getProcessingInstructionTarget(java.lang.Object o)
Retrieve the target of a processing-instruction.java.lang.String
getTextStringValue(java.lang.Object o)
Retrieve the string-value of a text node.boolean
isAttribute(java.lang.Object o)
Returns whether the given object is an attribute node.boolean
isComment(java.lang.Object o)
Returns whether the given object is a comment node.boolean
isDocument(java.lang.Object o)
Returns whether the given object is a document node.boolean
isElement(java.lang.Object o)
Returns whether the given object is an element node.boolean
isNamespace(java.lang.Object o)
Returns whether the given object is a namespace node.boolean
isProcessingInstruction(java.lang.Object o)
Returns whether the given object is a processing-instruction node.boolean
isText(java.lang.Object o)
Returns whether the given object is a text node.XPath
parseXPath(java.lang.String s)
Returns a parsed form of the given XPath string, which will be suitable for queries on documents that use the same navigator as this one.java.lang.String
translateNamespacePrefixToUri(java.lang.String s, java.lang.Object o)
Translate a namespace prefix to a namespace URI, possibly considering a particular element node.-
Methods inherited from class org.jaxen.DefaultNavigator
getAncestorAxisIterator, getAncestorOrSelfAxisIterator, getDescendantAxisIterator, getDescendantOrSelfAxisIterator, getElementById, getFollowingAxisIterator, getFollowingSiblingAxisIterator, getNodeType, getSelfAxisIterator
-
-
-
-
Method Detail
-
isAttribute
public boolean isAttribute(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is an attribute node.- Parameters:
o
- the object to test- Returns:
true
if the object is an attribute node, elsefalse
-
isComment
public boolean isComment(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a comment node.- Parameters:
o
- the object to test- Returns:
true
if the object is a comment node, elsefalse
-
isDocument
public boolean isDocument(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a document node. A document node is the node that is selected by the XPath expression/
.- Parameters:
o
- the object to test- Returns:
true
if the object is a document node, elsefalse
-
isElement
public boolean isElement(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is an element node.- Parameters:
o
- the object to test- Returns:
true
if the object is an element node, elsefalse
-
isNamespace
public boolean isNamespace(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a namespace node.- Parameters:
o
- the object to test- Returns:
true
if the object is a namespace node, elsefalse
-
isProcessingInstruction
public boolean isProcessingInstruction(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a processing-instruction node.- Parameters:
o
- the object to test- Returns:
true
if the object is a processing-instruction node, elsefalse
-
isText
public boolean isText(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a text node.- Parameters:
o
- the object to test- Returns:
true
if the object is a text node, elsefalse
-
getAttributeName
public java.lang.String getAttributeName(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the local name of the given attribute node.- Parameters:
o
- the context attribute node- Returns:
- the local name of the attribute node
-
getAttributeNamespaceUri
public java.lang.String getAttributeNamespaceUri(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the namespace URI of the given attribute node.- Parameters:
o
- the context attribute node- Returns:
- the namespace URI of the attribute node
-
getAttributeQName
public java.lang.String getAttributeQName(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the qualified name of the given attribute node.- Parameters:
o
- the context attribute node- Returns:
- the qualified name of the attribute node
-
getAttributeStringValue
public java.lang.String getAttributeStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of an attribute node. This should be the XML 1.0 normalized attribute value. This may be the empty string but must not be null.- Parameters:
o
- the attribute node- Returns:
- the string-value of the node
-
getCommentStringValue
public java.lang.String getCommentStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of a comment node. This may be the empty string if the comment is empty, but must not be null.- Parameters:
o
- the comment node- Returns:
- the string-value of the node
-
getElementName
public java.lang.String getElementName(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the local name of the given element node.- Parameters:
o
- the context element node- Returns:
- the local name of the element node
-
getElementNamespaceUri
public java.lang.String getElementNamespaceUri(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the namespace URI of the given element node.- Parameters:
o
- the context element node- Returns:
- the namespace URI of the element node
-
getElementQName
public java.lang.String getElementQName(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the qualified name of the given element node.- Parameters:
o
- the context element node- Returns:
- the qualified name of the element node
-
getElementStringValue
public java.lang.String getElementStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of an element node. This may be the empty string if the element is empty, but must not be null.- Parameters:
o
- the comment node.- Returns:
- the string-value of the node.
-
getNamespacePrefix
public java.lang.String getNamespacePrefix(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the namespace prefix of a namespace node.- Parameters:
o
- the namespace node- Returns:
- the prefix associated with the node
-
getNamespaceStringValue
public java.lang.String getNamespaceStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of a namespace node. This is generally the namespace URI. This may be the empty string but must not be null.- Parameters:
o
- the namespace node- Returns:
- the string-value of the node
-
getTextStringValue
public java.lang.String getTextStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of a text node. This must not be null and should not be the empty string. The XPath data model does not allow empty text nodes.- Parameters:
o
- the text node- Returns:
- the string-value of the node
-
getDocument
public java.lang.Object getDocument(java.lang.String s) throws FunctionCallException
Description copied from class:DefaultNavigator
Default implementation that always returns null. Override in subclass if the subclass can load documents.- Specified by:
getDocument
in interfaceNavigator
- Overrides:
getDocument
in classDefaultNavigator
- Parameters:
s
- the URL of the document to load- Returns:
- null
- Throws:
FunctionCallException
- if an error occurs while loading the URL; e.g. an I/O error or the document is malformed
-
getDocumentNode
public java.lang.Object getDocumentNode(java.lang.Object o)
Description copied from interface:Navigator
Returns the document node that contains the given context node.- Specified by:
getDocumentNode
in interfaceNavigator
- Overrides:
getDocumentNode
in classDefaultNavigator
- Parameters:
o
- the context node- Returns:
- the document of the context node
- See Also:
Navigator.isDocument(Object)
-
getAttributeAxisIterator
public java.util.Iterator getAttributeAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigator
ThrowsUnsupportedAxisException
. Subclasses that support the attribute axis must override this method.- Specified by:
getAttributeAxisIterator
in interfaceNavigator
- Overrides:
getAttributeAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- never returns
-
getChildAxisIterator
public java.util.Iterator getChildAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigator
ThrowsUnsupportedAxisException
- Specified by:
getChildAxisIterator
in interfaceNavigator
- Overrides:
getChildAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- never returns
-
getParentAxisIterator
public java.util.Iterator getParentAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigator
ThrowsUnsupportedAxisException
- Specified by:
getParentAxisIterator
in interfaceNavigator
- Overrides:
getParentAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- never returns
-
getParentNode
public java.lang.Object getParentNode(java.lang.Object o)
Description copied from class:DefaultNavigator
Default inefficient implementation. Subclasses should override this method.- Specified by:
getParentNode
in interfaceNavigator
- Overrides:
getParentNode
in classDefaultNavigator
- Parameters:
o
- the node whose parent to return- Returns:
- the parent node
- See Also:
Navigator.isDocument(java.lang.Object)
,Navigator.isElement(java.lang.Object)
-
getPrecedingAxisIterator
public java.util.Iterator getPrecedingAxisIterator(java.lang.Object o) throws UnsupportedAxisException
Description copied from interface:Navigator
Retrieve anIterator
matching thepreceding
XPath axis.- Specified by:
getPrecedingAxisIterator
in interfaceNavigator
- Overrides:
getPrecedingAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- an Iterator capable of traversing the axis, not null
- Throws:
UnsupportedAxisException
- if the semantics of the preceding axis are not supported by this object model
-
getPrecedingSiblingAxisIterator
public java.util.Iterator getPrecedingSiblingAxisIterator(java.lang.Object o) throws UnsupportedAxisException
Description copied from interface:Navigator
Retrieve anIterator
matching thepreceding-sibling
XPath axis.- Specified by:
getPrecedingSiblingAxisIterator
in interfaceNavigator
- Overrides:
getPrecedingSiblingAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- an Iterator capable of traversing the axis, not null
- Throws:
UnsupportedAxisException
- if the semantics of the preceding-sibling axis are not supported by this object model
-
getProcessingInstructionData
public java.lang.String getProcessingInstructionData(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the data of a processing-instruction.- Specified by:
getProcessingInstructionData
in interfaceNavigator
- Overrides:
getProcessingInstructionData
in classDefaultNavigator
- Parameters:
o
- the context processing-instruction node- Returns:
- the data of the processing-instruction node
-
getProcessingInstructionTarget
public java.lang.String getProcessingInstructionTarget(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the target of a processing-instruction.- Specified by:
getProcessingInstructionTarget
in interfaceNavigator
- Overrides:
getProcessingInstructionTarget
in classDefaultNavigator
- Parameters:
o
- the context processing-instruction node- Returns:
- the target of the processing-instruction node
-
translateNamespacePrefixToUri
public java.lang.String translateNamespacePrefixToUri(java.lang.String s, java.lang.Object o)
Description copied from interface:Navigator
Translate a namespace prefix to a namespace URI, possibly considering a particular element node.Strictly speaking, prefix-to-URI translation should occur irrespective of any element in the document. This method is provided to allow a non-conforming ease-of-use enhancement.
- Specified by:
translateNamespacePrefixToUri
in interfaceNavigator
- Overrides:
translateNamespacePrefixToUri
in classDefaultNavigator
- Parameters:
s
- the prefix to translateo
- the element to consider during translation- Returns:
- the namespace URI associated with the prefix
- See Also:
NamespaceContext
-
parseXPath
public XPath parseXPath(java.lang.String s) throws SAXPathException
Description copied from interface:Navigator
Returns a parsed form of the given XPath string, which will be suitable for queries on documents that use the same navigator as this one.- Parameters:
s
- the XPath expression- Returns:
- a new XPath expression object
- Throws:
SAXPathException
- if the string is not a syntactically correct XPath expression- See Also:
XPath
-
getNamespaceAxisIterator
public java.util.Iterator getNamespaceAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigator
ThrowsUnsupportedAxisException
. Subclasses that support the namespace axis must override this method.- Specified by:
getNamespaceAxisIterator
in interfaceNavigator
- Overrides:
getNamespaceAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- never returns
-
-