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