Overview | Package | Class | Deprecated | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

## Package net.sf.saxon.type

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

See:
Description

Interface Summary
AtomicType | Marker 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.
ISchemaCompiler | Marker interface: the only instance of this class is the SchemaCompiler object in Saxon-SA
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
SchemaComponent | This is a marker interface that represents any "schema component" as defined in the XML Schema specification.
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.
SchemaURIResolver | A SchemaURIResolver is used when resolving references to schema documents.
SimpleType | This interface represents a simple type, which may be a built-in simple type, or a user-defined simple type.

Class Summary
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.
ExternalObjectType | This class represents the type of an external Java object returned by an extension function, or supplied as an external variable/parameter.
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.

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

Overview | Package | Class | Deprecated | Help
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES

Copyright (C) Michael H. Kay. All rights reserved.