net.sf.saxon.type
Class AnyItemType
java.lang.Object
net.sf.saxon.type.AnyItemType
- ItemType, Serializable
public class AnyItemType
extends java.lang.Object
An implementation of ItemType that matches any item (node or atomic value)
getAtomizedItemType
public AtomicType getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item
of this type is atomized
- getAtomizedItemType in interface ItemType
getInstance
public static AnyItemType getInstance()
Factory method to get the singleton instance
getPrimitiveItemType
public ItemType 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 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.
- getPrimitiveItemType in interface ItemType
getPrimitiveType
public int getPrimitiveType()
Get 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 Type.ATOMIC_VALUE. 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.
- getPrimitiveType in interface ItemType
getSuperType
public ItemType getSuperType(TypeHierarchy th)
Get the type from which this item type is derived by restriction. This
is the supertype in the XPath type heirarchy, as distinct from the Schema
base type: this means that the supertype of xs:boolean is xs:anyAtomicType,
whose supertype is item() (rather than xs:anySimpleType).
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.
- getSuperType in interface ItemType
th
- the type hierarchy cache
- the supertype, or null if this type is item()
hashCode
public int hashCode()
Returns a hash code value for the object.
isAtomicType
public boolean isAtomicType()
Determine whether this item type is atomic (that is, whether it can ONLY match
atomic values)
- isAtomicType in interface ItemType
- false: this type can match nodes or atomic values
matchesItem
public boolean matchesItem(Item item,
boolean allowURIPromotion,
Configuration config)
Test whether a given item conforms to this type
- matchesItem in interface ItemType
item
- The item to be testedallowURIPromotion
- config
-
- true if the item is an instance of this type; false otherwise
toString
public String toString()
toString
public String toString(NamePool pool)
Produce a representation of this type name for use in error messages.
Where this is a QName, it will use conventional prefixes
- toString in interface ItemType