public interface ItemType
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 | Interface and Description |
|---|---|
static interface |
ItemType.WithSequenceTypeCache
Extension of the ItemType interface implemented by some item types, to provide
a cache of SequenceType objects based on this item type, with different
occurrence indicators.
|
| Modifier and Type | Method and Description |
|---|---|
default java.util.Optional<java.lang.String> |
explainMismatch(Item item,
TypeHierarchy th)
Get extra diagnostic information about why a supplied item does not conform to this
item type, if available.
|
PlainType |
getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item
of this type is atomized
|
java.lang.String |
getBasicAlphaCode()
Get an alphabetic code representing the type, or at any rate, the nearest built-in type
from which this type is derived.
|
double |
getDefaultPriority()
Get the default priority when this ItemType is used as an XSLT pattern
|
default java.lang.String |
getFullAlphaCode()
Get the full alpha code for this item type.
|
Genre |
getGenre()
Determine the Genre (top-level classification) of this type
|
default double |
getNormalizedDefaultPriority()
Get the default priority normalized into the range 0 to 1
|
ItemType |
getPrimitiveItemType()
Get the primitive item type corresponding to this item type.
|
int |
getPrimitiveType()
Get the primitive type corresponding to this item type.
|
UType |
getUType()
Get the corresponding
UType. |
boolean |
isAtomicType()
Determine whether this item type is an atomic type
|
boolean |
isAtomizable(TypeHierarchy th)
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)
|
default boolean |
isTrueItemType()
Ask whether this
ItemType actually represents an item type in the XDM sense
of the term. |
boolean |
matches(Item item,
TypeHierarchy th)
Test whether a given item conforms to this type
|
default java.lang.String |
toExportString()
Return a string representation of this ItemType suitable for use in stylesheet
export files.
|
java.lang.String |
toString() |
Genre getGenre()
boolean isAtomicType()
boolean isPlainType()
default boolean isTrueItemType()
ItemType actually represents an item type in the XDM sense
of the term. The only instances that aren't true item types are user-defined union types
derived by restriction from other union types or containing list types in their transitive
membership ("impure union types")boolean matches(Item item, TypeHierarchy th) throws XPathException
item - The item to be testedth - The type hierarchy cache. Currently used only when matching function items.XPathExceptionItemType getPrimitiveItemType()
int getPrimitiveType()
UType getUType()
UType. A UType is a union of primitive item
types.double getDefaultPriority()
default double getNormalizedDefaultPriority()
PlainType getAtomizedItemType()
boolean isAtomizable(TypeHierarchy th)
th - the type hierarchy cachejava.lang.String getBasicAlphaCode()
default java.lang.String getFullAlphaCode()
element(EFG) has a basic alpha code of
NE, but the full alpha code of NE nQ{}EFG.default java.lang.String toExportString()
toString().java.lang.String toString()
toString in class java.lang.Objectdefault java.util.Optional<java.lang.String> explainMismatch(Item item, TypeHierarchy th)
item - the item that doesn't match this typeth - the type hierarchy cacheCopyright (c) 2004-2021 Saxonica Limited. All rights reserved.