public abstract class XdmItem extends XdmValue
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.
Modifier | Constructor and Description |
---|---|
protected |
XdmItem() |
|
XdmItem(Item item)
Construct an XdmItem as a wrapper around an existing Saxon Item object
|
Modifier and Type | Method and Description |
---|---|
Map<XdmAtomicValue,XdmValue> |
asMap()
If the XdmItem represents a map (this is a new data type in XSLT 3.0),
return a corresponding Java Map.
|
String |
getStringValue()
Get the string value of the item.
|
boolean |
isAtomicValue()
Determine whether the item is an atomic value or a node
|
static XdmItem |
newAtomicValue(String value,
ItemType type)
Deprecated.
since 9.1. This factory method duplicates the constructor
XdmAtomicValue.XdmAtomicValue(String, ItemType) which should be used in preference |
int |
size()
Get the number of items in the sequence
|
protected static XdmItem |
wrapItem(Item item) |
protected XdmItem()
public XdmItem(Item item)
item
- the Item object to be wrapped. This can be retrieved using the
XdmValue.getUnderlyingValue()
method.NullPointerException
- if item is nullpublic static XdmItem newAtomicValue(String value, ItemType type) throws SaxonApiException
XdmAtomicValue.XdmAtomicValue(String, ItemType)
which should be used in preferencevalue
- the lexical representation of the required valuetype
- the item type of the required valueSaxonApiException
- if the supplied string is not in the lexical space of the target type, or
if the target type is not atomicpublic String getStringValue()
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.
public Map<XdmAtomicValue,XdmValue> asMap()
public boolean isAtomicValue()
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.