Class NodeSetIntent


public class NodeSetIntent extends NodeSetValue
A node-set value implemented intensionally. It is a wrapper round an Expression which can be evaluated independently of context, that is it has been reduced so there are no remaining context-dependencies.
  • Constructor Details

  • Method Details

    • getNodeSetExpression

      public NodeSetExpression getNodeSetExpression()
      Get the encapsulated NodeSetExpression
    • setSorted

      public void setSorted(boolean isSorted)
      Set a flag to indicate whether the nodes are sorted. Used when the creator of the node-set knows that they are already in document order.
      Specified by:
      setSorted in class NodeSetValue
      Parameters:
      isSorted - true if the caller wishes to assert that the nodes will be delivered in document order and do not need to be further sorted
    • isSorted

      public boolean isSorted() throws XPathException
      Test whether the value is known to be sorted
      Specified by:
      isSorted in class NodeSetValue
      Returns:
      true if the value is known to be sorted in document order, false if it is not known whether it is sorted.
      Throws:
      XPathException
    • isContextDocumentNodeSet

      public boolean isContextDocumentNodeSet()
      Determine, in the case of an expression whose data type is Value.NODESET, whether all the nodes in the node-set are guaranteed to come from the same document as the context node. Used for optimization.
      Overrides:
      isContextDocumentNodeSet in class Expression
    • asString

      public String asString() throws XPathException
      Convert to string value
      Specified by:
      asString in class NodeSetValue
      Returns:
      the value of the first node in the node-set if there is one, otherwise an empty string
      Throws:
      XPathException
    • asBoolean

      public boolean asBoolean() throws XPathException
      Evaluate as a boolean.
      Specified by:
      asBoolean in class NodeSetValue
      Returns:
      true if the node set is not empty
      Throws:
      XPathException
    • getCount

      public int getCount() throws XPathException
      Count the nodes in the node-set. Note this will sort the node set if necessary, to make sure there are no duplicates.
      Specified by:
      getCount in class NodeSetValue
      Throws:
      XPathException
    • sort

      public NodeSetValue sort() throws XPathException
      Sort the nodes into document order. This does nothing if the nodes are already known to be sorted; to force a sort, call setSorted(false)
      Specified by:
      sort in class NodeSetValue
      Returns:
      the same NodeSetValue, after sorting.
      Throws:
      XPathException
    • getFirst

      public NodeInfo getFirst() throws XPathException
      Get the first node in the nodeset (in document order)
      Specified by:
      getFirst in class NodeSetValue
      Returns:
      the first node
      Throws:
      XPathException
    • selectFirst

      public NodeInfo selectFirst(Context context) throws XPathException
      Return the first node in the nodeset (in document order)
      Parameters:
      context - The context for the evaluation: not used
      Returns:
      the NodeInfo of the first node in document order, or null if the node-set is empty.
      Throws:
      XPathException
    • enumerate

      public NodeEnumeration enumerate() throws XPathException
      Return an enumeration of this nodeset value.
      Specified by:
      enumerate in class NodeSetValue
      Throws:
      XPathException