Class XdmValue

java.lang.Object
net.sf.saxon.s9api.XdmValue
All Implemented Interfaces:
Iterable<XdmItem>
Direct Known Subclasses:
XdmEmptySequence, XdmItem

public class XdmValue extends Object implements Iterable<XdmItem>
An value in the XDM data model. A value is a sequence of zero or more items, each item being either an atomic value or a node.

An XdmValue is immutable.

A sequence consisting of a single item may be represented as an instance of XdmItem, which is a subtype of XdmValue. However, there is no guarantee that a sequence of length one will always be an instance of XdmItem.

Similarly, a zero-length sequence may be represented as an instance of XdmEmptySequence, but there is no guarantee that every sequence of length zero will always be an instance of XdmEmptySequence.

Since:
9.0
  • Constructor Details

    • XdmValue

      protected XdmValue()
    • XdmValue

      public XdmValue(Iterable<XdmItem> items)
      Create an XdmValue as a sequence of XdmItem objects
      Parameters:
      items - a sequence of XdmItem objects. Note that if this is supplied as a list or similar collection, subsequent changes to the list/collection will have no effect on the XdmValue.
      Since:
      9.0.0.4
    • XdmValue

      protected XdmValue(ValueRepresentation value)
  • Method Details

    • setValue

      protected void setValue(ValueRepresentation value)
    • wrap

      protected static XdmValue wrap(ValueRepresentation value)
    • size

      public int size()
      Get the number of items in the sequence
      Returns:
      the number of items in the value
      Throws:
      SaxonApiUncheckedException - if the value is lazily evaluated and the delayed evaluation fails with a dynamic error.
    • itemAt

      Get the n'th item in the value, counting from zero.
      Parameters:
      n - the item that is required, counting the first item in the sequence as item zero
      Returns:
      the n'th item in the sequence making up the value, counting from zero
      Throws:
      IndexOutOfBoundsException - if n is less than zero or greater than or equal to the number of items in the value
      SaxonApiUncheckedException - if the value is lazily evaluated and the delayed evaluation fails with a dynamic error.
    • iterator

      Returns an iterator over the items in this value.
      Specified by:
      iterator in interface Iterable<XdmItem>
      Returns:
      an Iterator over the items in this value.
      Throws:
      SaxonApiUncheckedException - if the value is lazily evaluated and the delayed evaluation fails with a dynamic error.
    • getUnderlyingValue

      public ValueRepresentation getUnderlyingValue()
      Get the underlying implementation object representing the value. This method allows access to lower-level Saxon functionality, including classes and methods that offer no guarantee of stability across releases.
      Returns:
      the underlying implementation object representing the value