|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ItemType
ItemType is an interface that allows testing of whether an Item conforms to an expected type. ItemType represents the types in the type hierarchy in the XPath model, as distinct from the schema model: an item type is either item() (matches everything), a node type (matches nodes), an atomic type (matches atomic values), or empty() (matches nothing). Atomic types, represented by the class AtomicType, are also instances of SimpleType in the schema type hierarchy. Node Types, represented by the class NodeTest, are also Patterns as used in XSLT.
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
Method Summary | |
---|---|
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 |
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 |
Method Detail |
---|
boolean isAtomicType()
boolean isPlainType()
boolean matches(Item item, XPathContext context)
item
- The item to be testedcontext
- the XPath dynamic evaluation context
boolean 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 configuration
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 cache
ItemType getPrimitiveItemType()
int getPrimitiveType()
double getDefaultPriority()
String toString(NamePool pool)
pool
- the name pool
PlainType getAtomizedItemType()
boolean isAtomizable()
void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitor
- the visitor class to be called when each component is visited
XPathException
- if an error occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |