Package 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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description XdmValueappend(XdmValue otherValue)Create a new XdmValue by concatenating the contents of this XdmValue and another XdmValue.ValueRepresentation<? extends Item>getUnderlyingValue()Get the underlying implementation object representing the value.XdmItemitemAt(int n)Get the n'th item in the value, counting from zero.XdmSequenceIteratoriterator()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)
-
-
-
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<? extends Item> value)
-
-
Method Detail
-
setValue
protected void setValue(ValueRepresentation<? extends Item> value)
-
wrap
protected static XdmValue wrap(ValueRepresentation<? extends Item> value)
-
append
public XdmValue append(XdmValue otherValue)
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
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 valueSaxonApiUncheckedException- if the value is lazily evaluated and the delayed evaluation fails with a dynamic error.
-
iterator
public XdmSequenceIterator iterator() throws SaxonApiUncheckedException
Get an iterator over the items in this value.- Specified by:
iteratorin interfacejava.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<? extends Item> 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
-
-