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.IteratorgetAttributeAxisIterator(java.lang.Object o)ThrowsUnsupportedAxisException.java.lang.StringgetAttributeName(java.lang.Object o)Retrieve the local name of the given attribute node.java.lang.StringgetAttributeNamespaceUri(java.lang.Object o)Retrieve the namespace URI of the given attribute node.java.lang.StringgetAttributeQName(java.lang.Object o)Retrieve the qualified name of the given attribute node.java.lang.StringgetAttributeStringValue(java.lang.Object o)Retrieve the string-value of an attribute node.java.util.IteratorgetChildAxisIterator(java.lang.Object o)ThrowsUnsupportedAxisExceptionjava.lang.StringgetCommentStringValue(java.lang.Object o)Retrieve the string-value of a comment node.java.lang.ObjectgetDocument(java.lang.String s)Default implementation that always returns null.java.lang.ObjectgetDocumentNode(java.lang.Object o)Returns the document node that contains the given context node.java.lang.StringgetElementName(java.lang.Object o)Retrieve the local name of the given element node.java.lang.StringgetElementNamespaceUri(java.lang.Object o)Retrieve the namespace URI of the given element node.java.lang.StringgetElementQName(java.lang.Object o)Retrieve the qualified name of the given element node.java.lang.StringgetElementStringValue(java.lang.Object o)Retrieve the string-value of an element node.java.util.IteratorgetNamespaceAxisIterator(java.lang.Object o)ThrowsUnsupportedAxisException.java.lang.StringgetNamespacePrefix(java.lang.Object o)Retrieve the namespace prefix of a namespace node.java.lang.StringgetNamespaceStringValue(java.lang.Object o)Retrieve the string-value of a namespace node.java.util.IteratorgetParentAxisIterator(java.lang.Object o)ThrowsUnsupportedAxisExceptionjava.lang.ObjectgetParentNode(java.lang.Object o)Default inefficient implementation.java.util.IteratorgetPrecedingAxisIterator(java.lang.Object o)Retrieve anIteratormatching theprecedingXPath axis.java.util.IteratorgetPrecedingSiblingAxisIterator(java.lang.Object o)Retrieve anIteratormatching thepreceding-siblingXPath axis.java.lang.StringgetProcessingInstructionData(java.lang.Object o)Retrieve the data of a processing-instruction.java.lang.StringgetProcessingInstructionTarget(java.lang.Object o)Retrieve the target of a processing-instruction.java.lang.StringgetTextStringValue(java.lang.Object o)Retrieve the string-value of a text node.booleanisAttribute(java.lang.Object o)Returns whether the given object is an attribute node.booleanisComment(java.lang.Object o)Returns whether the given object is a comment node.booleanisDocument(java.lang.Object o)Returns whether the given object is a document node.booleanisElement(java.lang.Object o)Returns whether the given object is an element node.booleanisNamespace(java.lang.Object o)Returns whether the given object is a namespace node.booleanisProcessingInstruction(java.lang.Object o)Returns whether the given object is a processing-instruction node.booleanisText(java.lang.Object o)Returns whether the given object is a text node.XPathparseXPath(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.StringtranslateNamespacePrefixToUri(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:NavigatorReturns whether the given object is an attribute node.- Parameters:
o- the object to test- Returns:
trueif the object is an attribute node, elsefalse
-
isComment
public boolean isComment(java.lang.Object o)
Description copied from interface:NavigatorReturns whether the given object is a comment node.- Parameters:
o- the object to test- Returns:
trueif the object is a comment node, elsefalse
-
isDocument
public boolean isDocument(java.lang.Object o)
Description copied from interface:NavigatorReturns 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:
trueif the object is a document node, elsefalse
-
isElement
public boolean isElement(java.lang.Object o)
Description copied from interface:NavigatorReturns whether the given object is an element node.- Parameters:
o- the object to test- Returns:
trueif the object is an element node, elsefalse
-
isNamespace
public boolean isNamespace(java.lang.Object o)
Description copied from interface:NavigatorReturns whether the given object is a namespace node.- Parameters:
o- the object to test- Returns:
trueif the object is a namespace node, elsefalse
-
isProcessingInstruction
public boolean isProcessingInstruction(java.lang.Object o)
Description copied from interface:NavigatorReturns whether the given object is a processing-instruction node.- Parameters:
o- the object to test- Returns:
trueif the object is a processing-instruction node, elsefalse
-
isText
public boolean isText(java.lang.Object o)
Description copied from interface:NavigatorReturns whether the given object is a text node.- Parameters:
o- the object to test- Returns:
trueif the object is a text node, elsefalse
-
getAttributeName
public java.lang.String getAttributeName(java.lang.Object o)
Description copied from interface:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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:NavigatorRetrieve 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 FunctionCallExceptionDescription copied from class:DefaultNavigatorDefault implementation that always returns null. Override in subclass if the subclass can load documents.- Specified by:
getDocumentin interfaceNavigator- Overrides:
getDocumentin 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:NavigatorReturns the document node that contains the given context node.- Specified by:
getDocumentNodein interfaceNavigator- Overrides:
getDocumentNodein 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:DefaultNavigatorThrowsUnsupportedAxisException. Subclasses that support the attribute axis must override this method.- Specified by:
getAttributeAxisIteratorin interfaceNavigator- Overrides:
getAttributeAxisIteratorin classDefaultNavigator- Parameters:
o- the original context node- Returns:
- never returns
-
getChildAxisIterator
public java.util.Iterator getChildAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigatorThrowsUnsupportedAxisException- Specified by:
getChildAxisIteratorin interfaceNavigator- Overrides:
getChildAxisIteratorin classDefaultNavigator- Parameters:
o- the original context node- Returns:
- never returns
-
getParentAxisIterator
public java.util.Iterator getParentAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigatorThrowsUnsupportedAxisException- Specified by:
getParentAxisIteratorin interfaceNavigator- Overrides:
getParentAxisIteratorin classDefaultNavigator- Parameters:
o- the original context node- Returns:
- never returns
-
getParentNode
public java.lang.Object getParentNode(java.lang.Object o)
Description copied from class:DefaultNavigatorDefault inefficient implementation. Subclasses should override this method.- Specified by:
getParentNodein interfaceNavigator- Overrides:
getParentNodein 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 UnsupportedAxisExceptionDescription copied from interface:NavigatorRetrieve anIteratormatching theprecedingXPath axis.- Specified by:
getPrecedingAxisIteratorin interfaceNavigator- Overrides:
getPrecedingAxisIteratorin 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 UnsupportedAxisExceptionDescription copied from interface:NavigatorRetrieve anIteratormatching thepreceding-siblingXPath axis.- Specified by:
getPrecedingSiblingAxisIteratorin interfaceNavigator- Overrides:
getPrecedingSiblingAxisIteratorin 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:NavigatorRetrieve the data of a processing-instruction.- Specified by:
getProcessingInstructionDatain interfaceNavigator- Overrides:
getProcessingInstructionDatain 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:NavigatorRetrieve the target of a processing-instruction.- Specified by:
getProcessingInstructionTargetin interfaceNavigator- Overrides:
getProcessingInstructionTargetin 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:NavigatorTranslate 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:
translateNamespacePrefixToUriin interfaceNavigator- Overrides:
translateNamespacePrefixToUriin 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:NavigatorReturns 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:DefaultNavigatorThrowsUnsupportedAxisException. Subclasses that support the namespace axis must override this method.- Specified by:
getNamespaceAxisIteratorin interfaceNavigator- Overrides:
getNamespaceAxisIteratorin classDefaultNavigator- Parameters:
o- the original context node- Returns:
- never returns
-
-