java.io.Serializable
AtomicType
, FunctionItemType
, PlainType
AnyChildNodeTest
, AnyFunctionType
, AnyItemType
, AnyNodeTest
, BuiltInAtomicType
, CombinedNodeTest
, ContentTypeTest
, DocumentNodeTest
, EmptySequenceTest
, ExternalObjectType
, LocalNameTest
, NamespaceTest
, NameTest
, NodeKindTest
, NodeTest
public interface ItemType
extends java.io.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 | 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
|
java.lang.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 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()
java.lang.String toString(NamePool pool)
pool
- the name poolPlainType getAtomizedItemType()
boolean isAtomizable()
void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitor
- the visitor class to be called when each component is visitedXPathException
- if an error occurs