Package net.sf.saxon.type
Enum Class AnyItemType
- All Implemented Interfaces:
Serializable,Comparable<AnyItemType>,Constable,ItemType,ItemTypeWithSequenceTypeCache
An implementation of ItemType that matches any item (node or atomic value)
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>> -
Enum Constant Summary
Enum Constants -
Method Summary
Modifier and TypeMethodDescriptionExpand this item type to a choice item type.explainMismatch(Item item, TypeHierarchy th) Get extra diagnostic information about why a supplied item does not conform to this item type, if available.Get the item type of the atomic values that will be produced when an item of this type is atomizedGet an alphabetic code representing the type, or at any rate, the nearest built-in type from which this type is derived.getCoercionPlan(int version) Get the coercion plan for use when this type is the required type for (say) coercion of arguments in a function calldoubleGet the default priority when this ItemType is used as an XSLT patterngetGenre()Determine the Genre (top-level classification) of this typestatic AnyItemTypeFactory method to get the singleton instancedoubleGet the default priority normalized into the range 0 to 1Get the primitive item type corresponding to this item type.intGet the primitive type corresponding to this item type.getUType()Get the correspondingUType.booleanDetermine whether this item type is an atomic typebooleanAsk whether values of this type are atomizablebooleanDetermine whether this item type is atomic (that is, whether it can ONLY match atomic values)booleanTest whether a given item conforms to this typeNormalize this item type, returning a potentially different item type that matches the same items.one()Get a sequence type representing exactly one instance of this atomic typeGet a sequence type representing one or more instances of this atomic typeReturn a string representation of this ItemType suitable for use in stylesheet export files.toString()static AnyItemTypeReturns the enum constant of this class with the specified name.static AnyItemType[]values()Returns an array containing the constants of this enum class, in the order they are declared.Get a sequence type representing one or more instances of this atomic typeGet a sequence type representing zero or one instances of this atomic type
-
Enum Constant Details
-
INSTANCE
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException- if this enum class has no constant with the specified nameNullPointerException- if the argument is null
-
getInstance
Factory method to get the singleton instance- Returns:
- the singleton instance
-
getGenre
Determine the Genre (top-level classification) of this type -
getUType
Get the correspondingUType. A UType is a union of primitive item types. -
asChoiceItemType
Description copied from interface:ItemTypeExpand this item type to a choice item type. The default delivers a choice with this type as its only member. Implementations for abstract types return a choice of the corresponding concrete types, for examplenode()expands to a choice of the seven node kinds. The implementation for a choice type that includes abstract member types should expand these recursively.- Specified by:
asChoiceItemTypein interfaceItemType
-
isAtomicType
public boolean isAtomicType()Determine whether this item type is an atomic type- Specified by:
isAtomicTypein interfaceItemType- Returns:
- true if this is ANY_ATOMIC_TYPE or a subtype thereof
-
getBasicAlphaCode
Get an alphabetic code representing the type, or at any rate, the nearest built-in type from which this type is derived. The codes are designed so that for any two built-in types A and B, alphaCode(A) is a prefix of alphaCode(B) if and only if A is a supertype of B.- Specified by:
getBasicAlphaCodein interfaceItemType- Returns:
- the alphacode for the nearest containing built-in type
-
toExportString
Description copied from interface:ItemTypeReturn a string representation of this ItemType suitable for use in stylesheet export files. This differs from the result of toString() in that it will not contain any references to anonymous types. Note that it may also use the Saxon extended syntax for union types and tuple types. The default implementation returns the result of callingtoString().- Specified by:
toExportStringin interfaceItemType- Returns:
- the string representation as an instance of the XPath SequenceType construct
-
normalizeItemType
Normalize this item type, returning a potentially different item type that matches the same items. For example,record(*)andmap(*)match the same items. The default implementation returns the item type unchanged. This method does NOT expand item types to an equivalent choice item type.Item types should be normalized before comparison using equals().
- Specified by:
normalizeItemTypein interfaceItemType- Returns:
- the normalized item type.
-
isPlainType
public boolean isPlainType()Determine whether this item type is atomic (that is, whether it can ONLY match atomic values)- Specified by:
isPlainTypein interfaceItemType- Returns:
- false: this type can match nodes or atomic values
-
matches
Test whether a given item conforms to this type -
getPrimitiveItemType
Get the primitive item type corresponding to this item type. For item(), this is Type.ITEM. For node(), it is Type.NODE. For specific node kinds, it is the value representing the node kind, for example Type.ELEMENT. For anyAtomicValue it is Type.ATOMIC_VALUE. For xs:numeric it is Type.NUMBER. For other atomic types it is the primitive type as defined in XML Schema, except that INTEGER is considered to be a primitive type.- Specified by:
getPrimitiveItemTypein interfaceItemType- Returns:
- the corresponding primitive type
-
getPrimitiveType
public int getPrimitiveType()Description copied from interface:ItemTypeGet the primitive type corresponding to this item type. For item(), this is Type.ITEM. For node(), it is Type.NODE. For specific node kinds, it is the value representing the node kind, for example Type.ELEMENT. For anyAtomicValue it is BuiltInAtomicType.ANY_ATOMIC. For numeric it is Type.NUMBER. For other atomic types it is the primitive type as defined in XML Schema, except that INTEGER is considered to be a primitive type.- Specified by:
getPrimitiveTypein interfaceItemType- Returns:
- the integer fingerprint of the corresponding primitive type
-
getAtomizedItemType
Description copied from interface:ItemTypeGet the item type of the atomic values that will be produced when an item of this type is atomized- Specified by:
getAtomizedItemTypein interfaceItemType- Returns:
- the best available item type of the atomic values that will be produced when an item of this type is atomized, or null if it is known that atomization will throw an error.
-
isAtomizable
Ask whether values of this type are atomizable- Specified by:
isAtomizablein interfaceItemType- Parameters:
th- The type hierarchy cache- Returns:
- true unless it is known that these items will be elements with element-only content, in which case return false
-
getDefaultPriority
public double getDefaultPriority()Description copied from interface:ItemTypeGet the default priority when this ItemType is used as an XSLT pattern- Specified by:
getDefaultPriorityin interfaceItemType- Returns:
- the default priority
-
getNormalizedDefaultPriority
public double getNormalizedDefaultPriority()Description copied from interface:ItemTypeGet the default priority normalized into the range 0 to 1- Specified by:
getNormalizedDefaultPriorityin interfaceItemType- Returns:
- the default priority plus one divided by two
-
toString
- Overrides:
toStringin classEnum<AnyItemType>
-
one
Get a sequence type representing exactly one instance of this atomic type- Specified by:
onein interfaceItemTypeWithSequenceTypeCache- Returns:
- a sequence type representing exactly one instance of this atomic type
- Since:
- 9.8.0.2
-
zeroOrOne
Get a sequence type representing zero or one instances of this atomic type- Specified by:
zeroOrOnein interfaceItemTypeWithSequenceTypeCache- Returns:
- a sequence type representing zero or one instances of this atomic type
- Since:
- 9.8.0.2
-
oneOrMore
Get a sequence type representing one or more instances of this atomic type- Specified by:
oneOrMorein interfaceItemTypeWithSequenceTypeCache- Returns:
- a sequence type representing one or more instances of this atomic type
- Since:
- 9.8.0.2
-
zeroOrMore
Get a sequence type representing one or more instances of this atomic type- Specified by:
zeroOrMorein interfaceItemTypeWithSequenceTypeCache- Returns:
- a sequence type representing one or more instances of this atomic type
- Since:
- 9.8.0.2
-
getCoercionPlan
Get the coercion plan for use when this type is the required type for (say) coercion of arguments in a function call- Specified by:
getCoercionPlanin interfaceItemType- Parameters:
version- the XPath language version (40 or 31)
-
explainMismatch
Description copied from interface:ItemTypeGet extra diagnostic information about why a supplied item does not conform to this item type, if available. If extra information is returned, it should be in the form of a complete sentence, minus the closing full stop. No information should be returned for obvious cases.- Specified by:
explainMismatchin interfaceItemType- Parameters:
item- the item that doesn't match this typeth- the type hierarchy cache- Returns:
- optionally, a message explaining why the item does not match the type
-