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 |
---|---|
PlainType |
getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item
of this type is atomized
|
double |
getDefaultPriority()
Determine the default priority of this item type when used on its own as a Pattern
|
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 an atomic type
|
boolean |
isAtomizable()
Ask whether values of this type are atomizable
|
boolean |
isPlainType()
Determine whether this item type is a plain type (that is, whether it can ONLY match
atomic values)
|
boolean |
matches(Item item,
XPathContext context)
Test whether a given item conforms to this type
|
boolean |
matchesItem(Item item,
boolean allowURIPromotion,
Configuration config)
Test whether a given item conforms to this type
|
void |
visitNamedSchemaComponents(SchemaComponentVisitor visitor)
Visit all the schema components used in this ItemType definition
|
boolean isAtomicType()
boolean isPlainType()
boolean matches(Item item, XPathContext context)
item
- The item to be testedcontext
- the XPath dynamic evaluation contextboolean matchesItem(Item item, boolean allowURIPromotion, Configuration config)
item
- The item to be testedallowURIPromotion
- if a URI value is to be treated as a stringconfig
- the Saxon configurationItemType 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()
double getDefaultPriority()
PlainType getAtomizedItemType()
boolean isAtomizable()
void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitor
- the visitor class to be called when each component is visitedXPathException
- if an error occursCopyright (c) 2004-2013 Saxonica Limited. All rights reserved.