Overview | Package | Class | Deprecated | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.s9api
Class XdmValue

    java.lang.Object
      net.sf.saxon.s9api.XdmValue

All Implemented Interfaces:
  java.lang.Iterable<XdmItem>

Direct Known Subclasses:
  XdmEmptySequence, XdmItem

    public class XdmValue

extends java.lang.Object
implements java.lang.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 Summary
`protected` | `XdmValue()`
`` | `XdmValue(java.lang.Iterable<XdmItem> items)` Create an XdmValue as a sequence of XdmItem objects
`protected` | `XdmValue(ValueRepresentation value)`

Method Summary
`ValueRepresentation` | `getUnderlyingValue()` Get the underlying implementation object representing the value.
`XdmItem` | `itemAt(int n)` Get the n'th item in the value, counting from zero.
`XdmSequenceIterator` | `iterator()` Returns an iterator over the items in this value.
`protected void` | `setValue(ValueRepresentation value)`
`int` | `size()` Get the number of items in the sequence
`protected static XdmValue` | `wrap(ValueRepresentation value)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XdmValue

    protected XdmValue()

### XdmValue

    public XdmValue(java.lang.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 Detail

### 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

    public XdmItem itemAt(int n)
                   throws java.lang.IndexOutOfBoundsException,
                          SaxonApiUncheckedException

  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:
    `java.lang.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

    public XdmSequenceIterator iterator()
                                 throws SaxonApiUncheckedException

  Returns an iterator over the items in this value.

  Specified by:
    `iterator` in interface `java.lang.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

Overview | Package | Class | Deprecated | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) Saxonica Limited. All rights reserved.