Package net.sf.saxon.type

This package contains classes that implement the XPath 2.0 type system.

See:
          Description

Interface Summary
AtomicType Interface for atomic types (these are either built-in atomic types or user-defined atomic types).
ComplexType A complex type as defined in XML Schema: either a user-defined complex type, or xs:anyType, or xs:untyped.
ConversionResult This is a marker interface used as the result methods that convert or cast values from one type to another.
FunctionItemType Higher-order functions in XPath 3.0 introduce a third kind of Item, namely a Function Item.
ISchemaCompiler Marker interface: the only instance of this class is the SchemaCompiler object in Saxon-EE
ItemType ItemType is an interface that allows testing of whether an Item conforms to an expected type.
ListType Interface representing a simple type of variety List
PlainType A "plain type" is either an atomic type, or a union type that (a) imposes no restrictions other than those imposed by its member types, and (b) has exclusively plain types as its member types
SchemaComponent This is a marker interface that represents any "schema component" as defined in the XML Schema specification.
SchemaComponentVisitor Interface for a general purpose visitor object used to process schema components
SchemaDeclaration This is a marker interface that acts as a surrogate for an object representing a global element or attribute declaration.
SchemaType SchemaType is an interface implemented by all schema types: simple and complex types, built-in and user-defined types.
SimpleType This interface represents a simple type, which may be a built-in simple type, or a user-defined simple type.
 

Class Summary
AnyFunctionType An ItemType representing the type function().
AnyItemType An implementation of ItemType that matches any item (node or atomic value)
AnySimpleType This class has a singleton instance which represents the XML Schema built-in type xs:anySimpleType
AnyType This class has a singleton instance which represents the XML Schema built-in type xs:anyType, also known as the urtype.
BuiltInAtomicType This class represents a built-in atomic type, which may be either a primitive type (such as xs:decimal or xs:anyURI) or a derived type (such as xs:ID or xs:dayTimeDuration).
BuiltInListType This class is used to implement the built-in list types NMTOKENS, ENTITIES, IDREFS.
BuiltInType This non-instantiable class acts as a register of Schema objects containing all the built-in types: that is, the types defined in the "xs" namespace.
Converter A converter implements conversions from one atomic type to another - that is, it implements the casting rules for a (source type, destination type) pair.
Converter.Base64BinaryToHexBinary Converts base64 to hexBinary
Converter.BooleanToDecimal Converts a boolean to a decimal
Converter.BooleanToDouble Converts a boolean to a double
Converter.BooleanToFloat Converts a boolean to an xs:float
Converter.BooleanToInteger Converts a boolean to an integer
Converter.DateTimeToDate Converts a dateTime to a date
Converter.DateTimeToGDay Converts a dateTime to a gDay
Converter.DateTimeToGMonth Converts a dateTime to a gMonth
Converter.DateTimeToGMonthDay Converts a dateTime to a gMonthDay
Converter.DateTimeToGYear Converts a dateTime to a gYear
Converter.DateTimeToGYearMonth Converts a dateTime to a gYearMonth
Converter.DateTimeToTime Converts a dateTime to a time
Converter.DateToDateTime Converts a date to a dateTime
Converter.DecimalToInteger Converts a decimal to an integer.
Converter.DoubleToDecimal Convers a double to a decimal
Converter.DoubleToInteger Converts a double to an integer
Converter.DownCastingConverter Converter that does nothing except change the type annotation of the value.
Converter.DurationToDayTimeDuration Converts a duration to a dayTimeDuration
Converter.DurationToYearMonthDuration Converts a duration to a yearMonthDuration
Converter.FloatToDecimal Converts a float to a decimal
Converter.FloatToInteger Converts a float to an integer
Converter.HexBinaryToBase64Binary Converts hexBinary to base64Binary
Converter.IntegerToDecimal Converts an integer to a decimal
Converter.NotationToQName Converts Notation to QName
Converter.NumericToBoolean Converts a numeric value to a boolean
Converter.NumericToDecimal Converts any numeric value to a decimal
Converter.NumericToDouble Converts any numeric value to a double.
Converter.NumericToFloat Converts any numeric value to xs:float
Converter.NumericToInteger Converts any numeric value to an integer.
Converter.PromoterToDouble Converter that implements the promotion rules to a required type of xs:double
Converter.PromoterToFloat Converter that implements the promotion rules to a required type of xs:float
Converter.QNameToNotation Converts QName to Notation
Converter.StringToBase64BinaryConverter Converts string to base64
Converter.ToStringConverter Converts any value to a string
Converter.ToUntypedAtomicConverter Converts any value to untyped atomic
Converter.TwoPhaseConverter Converter that operates in two phases, via an intermediate type
Converter.UpCastingConverter Converter that does nothing except change the type annotation of the value.
ErrorType This class has a singleton instance which represents the XML Schema 1.1 built-in type xs:error
ExternalObjectType This class represents the type of an external Java object returned by an extension function, or supplied as an external variable/parameter.
StringConverter A Converter that accepts a string as input.
StringConverter.IdentityConverter Converter that does nothing - it returns the input unchanged
StringConverter.StringToAnyURI Converts string to anyURI
StringConverter.StringToBoolean Converts a string to a boolean
StringConverter.StringToDate Converts a string to a date
StringConverter.StringToDateTime Converts a string to a dateTime
StringConverter.StringToDayTimeDuration Converts a string to a dayTimeDuration
StringConverter.StringToDecimal Converts a string to an xs:decimal
StringConverter.StringToDerivedStringSubtype Converts from xs;string to a user-defined type derived from a built-in subtype of xs:string
StringConverter.StringToDouble Converts a string to a double.
StringConverter.StringToDuration Converts a string to a duration
StringConverter.StringToFloat Converts a string to xs:float
StringConverter.StringToGDayConverter Converts a string to a gDay
StringConverter.StringToGMonth Converts a string to a gMonth
StringConverter.StringToGMonthDay Converts a string to a gMonthDay
StringConverter.StringToGYear Converts a string to a gYear
StringConverter.StringToGYearMonth Converts a string to a gYearMonth
StringConverter.StringToHexBinary Converts a string to hexBinary
StringConverter.StringToInteger Converts a string to an integer
StringConverter.StringToIntegerSubtype Converts a string to a built-in subtype of integer
StringConverter.StringToLanguage Converts from xs:string to xs:language
StringConverter.StringToName Converts from xs:string to xs:Name
StringConverter.StringToNCName Converts from xs:string to xs:NCName, xs:ID, xs:IDREF, or xs:ENTITY
StringConverter.StringToNMTOKEN Converts from xs:string to xs:NMTOKEN
StringConverter.StringToNonStringDerivedType Converter from string to a derived type (derived from a type other than xs:string), where the derived type needs to retain the original string for validating against lexical facets such as pattern.
StringConverter.StringToNormalizedString Converts from xs:string to xs:normalizedString
StringConverter.StringToNotation Converts String to NOTATION
StringConverter.StringToQName Converts String to QName
StringConverter.StringToString Converts from xs:string or xs:untypedAtomic to xs:String
StringConverter.StringToStringSubtype Converts from xs;string to a user-defined type derived directly from xs:string
StringConverter.StringToTime Converts a string to a time
StringConverter.StringToToken Converts from xs:string to xs:token
StringConverter.StringToUnionConverter Converter from string to plain union types
StringConverter.StringToUntypedAtomic Converts from xs:string or xs:untypedAtomic to xs:untypedAtomic
StringConverter.StringToYearMonthDuration Converts a string to a yearMonthDuration
StringToDouble This class converts a string to an xs:double according to the rules in XML Schema 1.0
Type This class contains static information about types and methods for constructing type codes.
TypeHierarchy This class exists to provide answers to questions about the type hierarchy.
Untyped This class has a singleton instance which represents the complex type xdt:untyped, used for elements that have not been validated.
ValidationFailure This exception indicates a failure when validating an instance against a type defined in a schema.
 

Exception Summary
SchemaException An exception that identifies an error in reading, parsing, or validating a schema.
UnresolvedReferenceException This exception occurs when an attempt is made to dereference a reference from one schema component to another, if the target of the reference cannot be found.
ValidationException This exception indicates a failure when validating an instance against a type defined in a schema.
 

Package net.sf.saxon.type Description

This package contains classes that implement the XPath 2.0 type system. It contains that part of the functionality relevant to a non-schema-aware implementation: that is, the overall structure of the type system, together with representations of the built-in types.

The hierarchy of schema types is represented by the interfaces SchemaType, ComplexType, SimpleType, ListType, and AtomicType. (Union types never arise in non-schema-aware processing). There are concrete classes representing built-in types such as AnyType, BuiltInAtomicType, and BuiltInListType: the corresponding classes for user-defined types are in the com.saxonica.schema package.

The class SequenceType ought logically to be in this package but is actually in net.sf.saxon.value. A sequence type contains an ItemType which may be an AtomicType or a NodeTest: NodeTests are found in the package net.sf.saxon.pattern.

The logic for performing type checking is partly in the singleton class Type (which also contains many useful constants), and partly in the class TypeChecker found in package net.sf.saxon.expr.

Michael H. Kay
Saxonica Limited
9 February 2005



Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.