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 |
---|---|
java.lang.String |
generateJavaScriptItemTypeAcceptor(java.lang.String errorCode,
int targetVersion)
Generate Javascript code to convert a supplied Javascript value to this item type,
if conversion is possible, or throw an error otherwise.
|
java.lang.String |
generateJavaScriptItemTypeTest(ItemType knownToBe,
int targetVersion)
Generate Javascript code to test whether an item conforms to this item type
|
PlainType |
getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item
of this type is atomized
|
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()
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,
TypeHierarchy th)
Test whether a given item conforms to this type
|
java.lang.String |
toExportString()
Return a string representation of this SequenceType suitable for use in export (SEF) files.
|
java.lang.String |
toString() |
void |
visitNamedSchemaComponents(SchemaComponentVisitor visitor)
Visit all the schema components used in this ItemType definition
|
boolean isAtomicType()
boolean isPlainType()
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.XPathException
ItemType getPrimitiveItemType()
int getPrimitiveType()
UType getUType()
UType
. A UType is a union of primitive item
types.PlainType getAtomizedItemType()
boolean isAtomizable()
java.lang.String toExportString()
void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitor
- the visitor class to be called when each component is visitedXPathException
- if an error occursjava.lang.String generateJavaScriptItemTypeTest(ItemType knownToBe, int targetVersion) throws XPathException
knownToBe
- An item type that the supplied item is known to conform to; the generated code
can assume that the item is an instance of this type.targetVersion
- The version of Saxon-JS for which code is being generated. Currently either 1 or 2.XPathException
- if JS code cannot be generated for this item type, for example because
the test is schema-aware.java.lang.String generateJavaScriptItemTypeAcceptor(java.lang.String errorCode, int targetVersion) throws XPathException
errorCode
- the error to be thrown if conversion is not possibletargetVersion
- the version of Saxon-JS for which code is being generatedXPathException
java.lang.String toString()
toString
in class java.lang.Object
Copyright (c) 2004-2018 Saxonica Limited. All rights reserved.