Package net.sf.saxon.s9api
Class ItemType
java.lang.Object
net.sf.saxon.s9api.ItemType
- Direct Known Subclasses:
ConstructedItemType,ItemType.BuiltInAtomicItemType
An item type, as defined in the XPath/XQuery specifications.
This class contains a number of static constant fields
referring to instances that represent simple item types, such as
item(), node(), and xs:anyAtomicType. These named types are currently
based on the definitions in XSD 1.0 and XML 1.0. They may be changed in a future version to be based
on a later version.
More complicated item types, especially those that are dependent on information in a schema,
are available using factory methods on the ItemTypeFactory object. The factory methods can
also be used to create variants of the types that use the rules given in the XML 1.1 and/or XSD 1.1 specifications.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final ItemTypeItemType representing the type xs:anyAtomicType, that is, any atomic valuestatic ItemTypeItemType representing the type item(), that is, any item at allstatic final ItemTypeItemType representing the type node(), that is, any nodestatic final ItemTypeItemType representing the primitive type xs:anyURIstatic final ItemTypeItemType representing the primitive type xs:base64Binarystatic final ItemTypeItemType representing the primitive type xs:booleanstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:bytestatic final ItemTypeItemType representing the primitive type xs:datestatic final ItemTypeItemType representing the primitive type xs:dateTimestatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:dateTimeStamp (introduced in XSD 1.1)static final ItemTypeItemType representing the built-in (but non-primitive) type xs:dayTimeDurationstatic final ItemTypeItemType representing the primitive type xs:decimalstatic final ItemTypeItemType representing the primitive type xs:doublestatic final ItemTypeItemType representing the primitive type xs:durationstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:ENTITYstatic final ItemTypeItemType representing the primitive type xs:floatstatic final ItemTypeItemType representing the primitive type xs:gDaystatic final ItemTypeItemType representing the primitive type xs:gMonthstatic final ItemTypeItemType representing the primitive type xs:gMonthDaystatic final ItemTypeItemType representing the primitive type xs:gYearstatic final ItemTypeItemType representing the primitive type xs:gYearMonthstatic final ItemTypeItemType representing the primitive type xs:hexBinarystatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:IDstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:IDREFstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:intstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:integerstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:languagestatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:longstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:Namestatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:NCNamestatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:negativeIntegerstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:NMTOKENstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:nonNegativeIntegerstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:nonPositiveIntegerstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:normalizedStringstatic final ItemTypeItemType representing the primitive type xs:NOTATIONstatic final ItemTypeA Saxon-specific item type representing the base type of double, float, and decimalstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:positiveIntegerstatic final ItemTypeItemType representing the primitive type xs:QNamestatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:shortstatic final ItemTypeItemType representing the primitive type xs:stringstatic final ItemTypeItemType representing the primitive type xs:timestatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:tokenstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:unsignedBytestatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:unsignedIntstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:unsignedLongstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:unsignedShortstatic final ItemTypeItemType representing the XPath-defined type xs:untypedAtomicstatic final ItemTypeItemType representing the built-in (but non-primitive) type xs:yearMonthDuration -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract ConversionRulesGet the conversion rules implemented by this type.abstract ItemTypeMethod to get the underlying Saxon implementation objectabstract booleanDetermine whether this item type matches a given item.abstract booleanDetermine whether this ItemType subsumes another ItemType.
-
Field Details
-
ANY_ITEM
ItemType representing the type item(), that is, any item at all -
ANY_NODE
ItemType representing the type node(), that is, any node -
ANY_ATOMIC_VALUE
ItemType representing the type xs:anyAtomicType, that is, any atomic value -
NUMERIC
A Saxon-specific item type representing the base type of double, float, and decimal -
STRING
ItemType representing the primitive type xs:string -
BOOLEAN
ItemType representing the primitive type xs:boolean -
DURATION
ItemType representing the primitive type xs:duration -
DATE_TIME
ItemType representing the primitive type xs:dateTime -
DATE
ItemType representing the primitive type xs:date -
TIME
ItemType representing the primitive type xs:time -
G_YEAR_MONTH
ItemType representing the primitive type xs:gYearMonth -
G_MONTH
ItemType representing the primitive type xs:gMonth -
G_MONTH_DAY
ItemType representing the primitive type xs:gMonthDay -
G_YEAR
ItemType representing the primitive type xs:gYear -
G_DAY
ItemType representing the primitive type xs:gDay -
HEX_BINARY
ItemType representing the primitive type xs:hexBinary -
BASE64_BINARY
ItemType representing the primitive type xs:base64Binary -
ANY_URI
ItemType representing the primitive type xs:anyURI -
QNAME
ItemType representing the primitive type xs:QName -
NOTATION
ItemType representing the primitive type xs:NOTATION -
UNTYPED_ATOMIC
ItemType representing the XPath-defined type xs:untypedAtomic -
DECIMAL
ItemType representing the primitive type xs:decimal -
FLOAT
ItemType representing the primitive type xs:float -
DOUBLE
ItemType representing the primitive type xs:double -
INTEGER
ItemType representing the built-in (but non-primitive) type xs:integer -
NON_POSITIVE_INTEGER
ItemType representing the built-in (but non-primitive) type xs:nonPositiveInteger -
NEGATIVE_INTEGER
ItemType representing the built-in (but non-primitive) type xs:negativeInteger -
LONG
ItemType representing the built-in (but non-primitive) type xs:long -
INT
ItemType representing the built-in (but non-primitive) type xs:int -
SHORT
ItemType representing the built-in (but non-primitive) type xs:short -
BYTE
ItemType representing the built-in (but non-primitive) type xs:byte -
NON_NEGATIVE_INTEGER
ItemType representing the built-in (but non-primitive) type xs:nonNegativeInteger -
POSITIVE_INTEGER
ItemType representing the built-in (but non-primitive) type xs:positiveInteger -
UNSIGNED_LONG
ItemType representing the built-in (but non-primitive) type xs:unsignedLong -
UNSIGNED_INT
ItemType representing the built-in (but non-primitive) type xs:unsignedInt -
UNSIGNED_SHORT
ItemType representing the built-in (but non-primitive) type xs:unsignedShort -
UNSIGNED_BYTE
ItemType representing the built-in (but non-primitive) type xs:unsignedByte -
YEAR_MONTH_DURATION
ItemType representing the built-in (but non-primitive) type xs:yearMonthDuration -
DAY_TIME_DURATION
ItemType representing the built-in (but non-primitive) type xs:dayTimeDuration -
NORMALIZED_STRING
ItemType representing the built-in (but non-primitive) type xs:normalizedString -
TOKEN
ItemType representing the built-in (but non-primitive) type xs:token -
LANGUAGE
ItemType representing the built-in (but non-primitive) type xs:language -
NAME
ItemType representing the built-in (but non-primitive) type xs:Name -
NMTOKEN
ItemType representing the built-in (but non-primitive) type xs:NMTOKEN -
NCNAME
ItemType representing the built-in (but non-primitive) type xs:NCName -
ID
ItemType representing the built-in (but non-primitive) type xs:ID -
IDREF
ItemType representing the built-in (but non-primitive) type xs:IDREF -
ENTITY
ItemType representing the built-in (but non-primitive) type xs:ENTITY -
DATE_TIME_STAMP
ItemType representing the built-in (but non-primitive) type xs:dateTimeStamp (introduced in XSD 1.1)
-
-
Constructor Details
-
ItemType
public ItemType()
-
-
Method Details
-
getConversionRules
Get the conversion rules implemented by this type. The conversion rules reflect variations between different versions of the W3C specifications, for example XSD 1.1 allows "+INF" as a lexical representation of xs:double, while XSD 1.0 does not.- Returns:
- the conversion rules
-
matches
Determine whether this item type matches a given item.- Parameters:
item- the item to be tested against this item type- Returns:
- true if the item matches this item type, false if it does not match.
-
subsumes
Determine whether this ItemType subsumes another ItemType. Specifically,A.subsumes(B) is true if every value that matches the ItemType B also matches the ItemType A.- Parameters:
other- the other ItemType- Returns:
- true if this ItemType subsumes the other ItemType. This includes the case where A and B represent the same ItemType.
- Since:
- 9.1
-
getUnderlyingItemType
Method to get the underlying Saxon implementation objectThis gives access to Saxon methods that may change from one release to another.
- Returns:
- the underlying Saxon implementation object
-