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 {@link AnyItemType} (which corresponds to item()and matches anything), every ItemType will be either an {@link AtomicType}, or a {@link client.net.sf.saxon.ce.pattern.NodeTest}. User-defined implementations of ItemType must therefore extend one of those three classes/interfaces.
@see AtomicType
@see client.net.sf.saxon.ce.pattern.NodeTest