public interface ItemType extends Serializable
Saxon assumes that apart from AnyItemType
(which corresponds to item()
and matches anything), every ItemType will be either an
AtomicType
, a NodeTest
,
or a FunctionItemType
. User-defined implementations of ItemType must therefore extend one of those
three classes/interfaces.
AtomicType
,
NodeTest
,
FunctionItemType
Modifier and Type | Method and Description |
---|---|
AtomicType |
getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item
of this type is atomized
|
ItemType |
getPrimitiveItemType()
Get the primitive item type corresponding to this item type.
|
int |
getPrimitiveType()
Get the primitive type corresponding to this item type.
|
ItemType |
getSuperType(TypeHierarchy th)
Get the type from which this item type is derived by restriction.
|
boolean |
isAtomicType()
Determine whether this item type is atomic (that is, whether it can ONLY match
atomic values)
|
boolean |
isAtomizable()
Ask whether values of this type are atomizable
|
boolean |
matchesItem(Item item,
boolean allowURIPromotion,
Configuration config)
Test whether a given item conforms to this type
|
String |
toString(NamePool pool)
Produce a representation of this type name for use in error messages.
|
void |
visitNamedSchemaComponents(SchemaComponentVisitor visitor)
Visit all the schema components used in this ItemType definition
|
boolean isAtomicType()
boolean matchesItem(Item item, boolean allowURIPromotion, Configuration config)
item
- The item to be testedallowURIPromotion
- config
- ItemType getSuperType(TypeHierarchy th)
In fact the concept of "supertype" is not really well-defined, because the types form a lattice rather than a hierarchy. The only real requirement on this function is that it returns a type that strictly subsumes this type, ideally as narrowly as possible.
th
- the type hierarchy cacheItemType getPrimitiveItemType()
int getPrimitiveType()
String toString(NamePool pool)
pool
- the name poolAtomicType getAtomizedItemType()
boolean isAtomizable()
void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitor
- the visitor class to be called when each component is visitedXPathException