Package net.sf.saxon.s9api
Class XdmItem
java.lang.Object
net.sf.saxon.s9api.XdmValue
net.sf.saxon.s9api.XdmItem
- Direct Known Subclasses:
XdmAtomicValue
,XdmNode
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.
-
Constructor Summary
Constructors -
Method Summary
Methods inherited from class net.sf.saxon.s9api.XdmValue
getUnderlyingValue, itemAt, iterator, setValue, wrap
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
XdmItem
protected XdmItem() -
XdmItem
-
-
Method Details
-
wrapItem
-
newAtomicValue
Deprecated.since 9.1. This factory method duplicates the constructorXdmAtomicValue(String, ItemType)
which should be used in preferenceFactory method to construct an atomic value given its lexical representation and the required item type- Parameters:
value
- the lexical representation of the required valuetype
- the item type of the required value- Returns:
- the constructed item
- Throws:
SaxonApiException
- if the supplied string is not in the lexical space of the target type, or if the target type is not atomic
-
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, wheretoString
returns an XML serialization of the node.- Returns:
- the result of converting the item to a string.
-
isAtomicValue
public boolean isAtomicValue()Determine whether the item is an atomic value or a node- Returns:
- true if the item is an atomic value, false if it is a node
-
size
public int size()Get the number of items in the sequence
-