net.sf.saxon.om
public interface Item extends ValueRepresentation, PullEvent
This interface is part of the public Saxon API. As such (starting from Saxon 8.4), methods that form part of the stable API are labelled with a JavaDoc "since" tag to identify the Saxon release at which they were introduced.
Note: there is no method getItemType(). This is to avoid having to implement it on every implementation of NodeInfo. Instead, use the static method Type.getItemType(Item).
Since: 8.4
Method Summary | |
---|---|
String | getStringValue()
Get the value of the item as a string. |
CharSequence | getStringValueCS()
Get the string value of the item as a CharSequence. |
SequenceIterator | getTypedValue()
Get the typed value of the item.
|
If the calling code can handle any CharSequence, the method Item should be used. If the caller requires a string, this method is preferred.
Returns: the string value of the item
Throws: UnsupportedOperationException if the item is a function item (an unchecked exception is used here to avoid introducing exception handling to a large number of paths where it is not needed)
Since: 8.4
See Also: Item
X.getStringValueCS().toString()
returns a string that is equal to
X.getStringValue()
.
Note that two CharSequence values of different types should not be compared using equals(), and for the same reason they should not be used as a key in a hash table.
If the calling code can handle any CharSequence, this method should be used. If the caller requires a string, the Item method is preferred.
Returns: the string value of the item
Throws: UnsupportedOperationException if the item is a function item (an unchecked exception is used here to avoid introducing exception handling to a large number of paths where it is not needed)
Since: 8.4
See Also: Item
For a node, this is the typed value as defined in the XPath 2.0 data model. Since a node may have a list-valued data type, the typed value is in general a sequence, and it is returned in the form of a SequenceIterator.
If the node has not been validated against a schema, the typed value will be the same as the string value, either as an instance of xs:string or as an instance of xs:untypedAtomic, depending on the node kind.
For an atomic value, this method returns an iterator over a singleton sequence containing the atomic value itself.
Returns: an iterator over the items in the typed value of the node or atomic value. The items returned by this iterator will always be atomic values.
Throws: XPathException where no typed value is available, for example in the case of an element with complex content
Since: 8.4