Package org.dom4j

Interface XPath

  • All Superinterfaces:
    NodeFilter
    All Known Implementing Classes:
    DefaultXPath

    public interface XPath
    extends NodeFilter
    XPath represents an XPath expression after it has been parsed from a String.
    • Method Summary

      All Methods Instance Methods Abstract Methods Deprecated Methods 
      Modifier and Type Method Description
      boolean booleanValueOf​(java.lang.Object context)
      Retrieve a boolean-value interpretation of this XPath expression when evaluated against a given context.
      java.lang.Object evaluate​(java.lang.Object context)
      evaluate evaluates an XPath expression and returns the result as an Object.
      org.jaxen.FunctionContext getFunctionContext()
      DOCUMENT ME!
      org.jaxen.NamespaceContext getNamespaceContext()
      DOCUMENT ME!
      java.lang.String getText()
      getText will return the textual version of the XPath expression.
      org.jaxen.VariableContext getVariableContext()
      DOCUMENT ME!
      boolean matches​(Node node)
      matches returns true if the given node matches the XPath expression.
      java.lang.Number numberValueOf​(java.lang.Object context)
      numberValueOf evaluates an XPath expression and returns the numeric value of the XPath expression if the XPath expression results is a number, or null if the result is not a number.
      java.util.List<Node> selectNodes​(java.lang.Object context)
      selectNodes performs this XPath expression on the given Nodeor Listof Nodes instances appending all the results together into a single list.
      java.util.List<Node> selectNodes​(java.lang.Object context, XPath sortXPath)
      selectNodes evaluates the XPath expression on the given Nodeor Listof Nodes and returns the result as a List of Node s sorted by the sort XPath expression.
      java.util.List<Node> selectNodes​(java.lang.Object context, XPath sortXPath, boolean distinct)
      selectNodes evaluates the XPath expression on the given Nodeor Listof Nodes and returns the result as a List of Node s sorted by the sort XPath expression.
      java.lang.Object selectObject​(java.lang.Object context)
      Deprecated.
      please use evaluate(Object) instead.
      Node selectSingleNode​(java.lang.Object context)
      selectSingleNode evaluates this XPath expression on the given Nodeor Listof Nodes and returns the result as a single Node instance.
      void setFunctionContext​(org.jaxen.FunctionContext functionContext)
      Sets the function context to be used when evaluating XPath expressions
      void setNamespaceContext​(org.jaxen.NamespaceContext namespaceContext)
      Sets the namespace context to be used when evaluating XPath expressions
      void setNamespaceURIs​(java.util.Map<java.lang.String,​java.lang.String> map)
      Sets the current NamespaceContext from a Map where the keys are the String namespace prefixes and the values are the namespace URIs.
      void setVariableContext​(org.jaxen.VariableContext variableContext)
      Sets the variable context to be used when evaluating XPath expressions
      void sort​(java.util.List<Node> list)
      sort sorts the given List of Nodes using this XPath expression as a Comparator.
      void sort​(java.util.List<Node> list, boolean distinct)
      sort sorts the given List of Nodes using this XPath expression as a Comparatorand optionally removing duplicates.
      java.lang.String valueOf​(java.lang.Object context)
      valueOf evaluates this XPath expression and returns the textual representation of the results using the XPath string() function.
    • Method Detail

      • getText

        java.lang.String getText()
        getText will return the textual version of the XPath expression.
        Returns:
        the textual format of the XPath expression.
      • matches

        boolean matches​(Node node)
        matches returns true if the given node matches the XPath expression. To be more precise when evaluating this XPath expression on the given node the result set must include the node.
        Specified by:
        matches in interface NodeFilter
        Parameters:
        node - DOCUMENT ME!
        Returns:
        true if the given node matches this XPath expression
      • evaluate

        java.lang.Object evaluate​(java.lang.Object context)
        evaluate evaluates an XPath expression and returns the result as an Object. The object returned can either be a List of Nodeinstances, a Nodeinstance, a String or a Numberinstance depending on the XPath expression.
        Parameters:
        context - is either a node or a list of nodes on which to evalute the XPath
        Returns:
        the value of the XPath expression as a Listof Node instances, a Nodeinstance, a Stringor a Numberinstance depending on the XPath expression.
      • selectObject

        java.lang.Object selectObject​(java.lang.Object context)
        Deprecated.
        please use evaluate(Object) instead. WILL BE REMOVED IN dom4j-1.6 !!
        selectObject evaluates an XPath expression and returns the result as an Object. The object returned can either be a List of Nodeinstances, a Nodeinstance, a String or a Numberinstance depending on the XPath expression.
        Parameters:
        context - is either a node or a list of nodes on which to evalute the XPath
        Returns:
        the value of the XPath expression as a Listof Node instances, a Nodeinstance, a Stringor a Numberinstance depending on the XPath expression.
      • selectNodes

        java.util.List<Node> selectNodes​(java.lang.Object context)
        selectNodes performs this XPath expression on the given Nodeor Listof Nodes instances appending all the results together into a single list.
        Parameters:
        context - is either a node or a list of nodes on which to evalute the XPath
        Returns:
        the results of all the XPath evaluations as a single list
      • selectNodes

        java.util.List<Node> selectNodes​(java.lang.Object context,
                                         XPath sortXPath)
        selectNodes evaluates the XPath expression on the given Nodeor Listof Nodes and returns the result as a List of Node s sorted by the sort XPath expression.
        Parameters:
        context - is either a node or a list of nodes on which to evalute the XPath
        sortXPath - is the XPath expression to sort by
        Returns:
        a list of Node instances
      • selectNodes

        java.util.List<Node> selectNodes​(java.lang.Object context,
                                         XPath sortXPath,
                                         boolean distinct)
        selectNodes evaluates the XPath expression on the given Nodeor Listof Nodes and returns the result as a List of Node s sorted by the sort XPath expression.
        Parameters:
        context - is either a node or a list of nodes on which to evalute the XPath
        sortXPath - is the XPath expression to sort by
        distinct - specifies whether or not duplicate values of the sort expression are allowed. If this parameter is true then only distinct sort expressions values are included in the result
        Returns:
        a list of Node instances
      • selectSingleNode

        Node selectSingleNode​(java.lang.Object context)
        selectSingleNode evaluates this XPath expression on the given Nodeor Listof Nodes and returns the result as a single Node instance.
        Parameters:
        context - is either a node or a list of nodes on which to evalute the XPath
        Returns:
        a single matching Node instance
      • valueOf

        java.lang.String valueOf​(java.lang.Object context)
        valueOf evaluates this XPath expression and returns the textual representation of the results using the XPath string() function.
        Parameters:
        context - is either a node or a list of nodes on which to evalute the XPath
        Returns:
        the string representation of the results of the XPath expression
      • numberValueOf

        java.lang.Number numberValueOf​(java.lang.Object context)
        numberValueOf evaluates an XPath expression and returns the numeric value of the XPath expression if the XPath expression results is a number, or null if the result is not a number.
        Parameters:
        context - is either a node or a list of nodes on which to evalute the XPath
        Returns:
        the numeric result of the XPath expression or null if the result is not a number.
      • booleanValueOf

        boolean booleanValueOf​(java.lang.Object context)
        Retrieve a boolean-value interpretation of this XPath expression when evaluated against a given context. The boolean-value of the expression is determined per the boolean(..) core function as defined in the XPath specification. This means that an expression that selects zero nodes will return false, while an expression that selects one-or-more nodes will return true.
        Parameters:
        context - The node, nodeset or Context object for evaluation. This value can be null
        Returns:
        The boolean-value interpretation of this expression.
        Since:
        1.5
      • sort

        void sort​(java.util.List<Node> list)
        sort sorts the given List of Nodes using this XPath expression as a Comparator.
        Parameters:
        list - is the list of Nodes to sort
      • sort

        void sort​(java.util.List<Node> list,
                  boolean distinct)
        sort sorts the given List of Nodes using this XPath expression as a Comparatorand optionally removing duplicates.
        Parameters:
        list - is the list of Nodes to sort
        distinct - if true then duplicate values (using the sortXPath for comparisions) will be removed from the List
      • getFunctionContext

        org.jaxen.FunctionContext getFunctionContext()
        DOCUMENT ME!
        Returns:
        the current function context
      • setFunctionContext

        void setFunctionContext​(org.jaxen.FunctionContext functionContext)
        Sets the function context to be used when evaluating XPath expressions
        Parameters:
        functionContext - DOCUMENT ME!
      • getNamespaceContext

        org.jaxen.NamespaceContext getNamespaceContext()
        DOCUMENT ME!
        Returns:
        the current namespace context
      • setNamespaceContext

        void setNamespaceContext​(org.jaxen.NamespaceContext namespaceContext)
        Sets the namespace context to be used when evaluating XPath expressions
        Parameters:
        namespaceContext - DOCUMENT ME!
      • setNamespaceURIs

        void setNamespaceURIs​(java.util.Map<java.lang.String,​java.lang.String> map)
        Sets the current NamespaceContext from a Map where the keys are the String namespace prefixes and the values are the namespace URIs. For example:
         Map uris = new HashMap();
         uris.put("SOAP-ENV", "http://schemas.xmlsoap.org/soap/envelope/");
         uris.put("m", "urn:xmethodsBabelFish");
         XPath xpath = document
                 .createXPath("SOAP-ENV:Envelope/SOAP-ENV:Body/m:BabelFish");
         xpath.setNamespaceURIs(uris);
         Node babelfish = xpath.selectSingleNode(document);
         
        Parameters:
        map - the map containing the namespace mappings
      • getVariableContext

        org.jaxen.VariableContext getVariableContext()
        DOCUMENT ME!
        Returns:
        the current variable context
      • setVariableContext

        void setVariableContext​(org.jaxen.VariableContext variableContext)
        Sets the variable context to be used when evaluating XPath expressions
        Parameters:
        variableContext - DOCUMENT ME!