net.sf.saxon.s9api
Class XdmItem
- Iterable
public abstract class XdmItem
The class XdmItem represents an item in a sequence, as defined by the XDM data model.
An item is either an atomic value or a node.
An item is a member of a sequence, but it can also be considered as a sequence
(of length one) in its own right.
XdmItem is a subtype of
XdmValue because every
Item in the XDM data model is also a value.
It cannot be assumed that every sequence of length one will be represented by
an
XdmItem. It is quite possible for an
XdmValue that is not an
XdmItem to hold
a singleton sequence.
Saxon provides two concrete subclasses of
XdmItem
, namely
XdmNode
and
XdmAtomicValue
. Users must not attempt to create
additional subclasses.
XdmItem
protected XdmItem()
XdmItem
protected XdmItem(Item item)
getStringValue
public String getStringValue()
Get the string value of the item. For a node, this gets the string value
of the node. For an atomic value, it has the same effect as casting the value
to a string. In all cases the result is the same as applying the XPath string()
function.
For atomic values, the result is the same as the result of calling
toString
. This is not the case for nodes, where
toString
returns an XML serialization of the node.
- the result of converting the item to a string.
int size
public @Override int size()
Get the number of items in the sequence
- the number of items in the value - always one
isAtomicValue
public boolean isAtomicValue()
Determine whether the item is an atomic value or a node
- true if the item is an atomic value, false if it is a node
newAtomicValue
public static XdmItem newAtomicValue(String value,
ItemType type)
throws SaxonApiException
Factory method to construct an atomic value given its lexical representation and the
required item type
value
- the lexical representation of the required valuetype
- the item type of the required value
SaxonApiException
- if the supplied string is not in the lexical space of the target type, or
if the target type is not atomic