Package net.sf.saxon.s9api
Class XdmValue
java.lang.Object
net.sf.saxon.s9api.XdmValue
- Direct Known Subclasses:
XdmEmptySequence,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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionCreate a new XdmValue by concatenating the contents of this XdmValue and another XdmValue.ValueRepresentation<? extends Item> Get the underlying implementation object representing the value.itemAt(int n) Get the n'th item in the value, counting from zero.iterator()Get an iterator over the items in this value.protected voidsetValue(ValueRepresentation<? extends Item> value) intsize()Get the number of items in the sequenceprotected static XdmValuewrap(ValueRepresentation<? extends Item> value) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
XdmValue
protected XdmValue() -
XdmValue
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
-
-
Method Details
-
setValue
-
wrap
-
append
Create a new XdmValue by concatenating the contents of this XdmValue and another XdmValue. The two input XdmValue objects are unaffected by this operation- Parameters:
otherValue- the value to be appended- Returns:
- a new XdmValue containing the concatenation of the two input XdmValue objects
- Since:
- 9.2
-
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 valueSaxonApiUncheckedException- if the value is lazily evaluated and the delayed evaluation fails with a dynamic error.
-
iterator
Get an iterator over the items in this value.- Specified by:
iteratorin interfaceIterable<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
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
-