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