net.sf.saxon.type

Interface AtomicType

All Superinterfaces:
ItemType, SchemaComponent, SchemaType, Serializable, SimpleType
Known Implementing Classes:
BuiltInAtomicType, DotNetExternalObjectType, ExternalObjectType

public interface AtomicType
extends SimpleType, ItemType

Interface for atomic types (these are either built-in atomic types or user-defined atomic types). An AtomicType is both an ItemType (a possible type for items in a sequence) and a SchemaType (a possible type for validating and annotating nodes).

Fields inherited from interface net.sf.saxon.type.SchemaComponent

FIXED_UP, INCOMPLETE, INVALID, UNVALIDATED, VALIDATED, VALIDATING

Fields inherited from interface net.sf.saxon.type.SchemaType

DERIVATION_EXTENSION, DERIVATION_LIST, DERIVATION_RESTRICTION, DERIVATION_UNION, DERIVE_BY_SUBSTITUTION

Method Summary

boolean
isAbstract()
Determine whether the type is abstract, that is, whether it cannot have instances that are not also instances of some concrete subtype
boolean
isBuiltInType()
Determine whether the atomic type is a built-in type.
boolean
isOrdered()
Determine whether the atomic type is ordered, that is, whether less-than and greater-than comparisons are permitted
boolean
isPrimitiveType()
Determine whether the atomic type is a primitive type.
ValidationFailure
validate(AtomicValue primValue, CharSequence lexicalValue, NameChecker checker)
Validate that a primitive atomic value is a valid instance of a type derived from the same primitive type.

Methods inherited from interface net.sf.saxon.type.ItemType

getAtomizedItemType, getPrimitiveItemType, getPrimitiveType, getSuperType, isAtomicType, matchesItem, toString

Methods inherited from interface net.sf.saxon.type.SchemaComponent

getValidationStatus

Methods inherited from interface net.sf.saxon.type.SchemaType

allowsDerivation, analyzeContentExpression, atomize, checkTypeDerivationIsOK, getBaseType, getBlock, getDerivationMethod, getDescription, getDisplayName, getFingerprint, getName, getNameCode, getSystemId, getTargetNamespace, getTypedValue, isAnonymousType, isAtomicType, isComplexType, isSameType, isSimpleType

Methods inherited from interface net.sf.saxon.type.SimpleType

getBuiltInBaseType, getCommonAtomicType, getTypedValue, getWhitespaceAction, isAtomicType, isBuiltInType, isExternalType, isListType, isNamespaceSensitive, isUnionType, validateContent

Method Details

isAbstract

public boolean isAbstract()
Determine whether the type is abstract, that is, whether it cannot have instances that are not also instances of some concrete subtype

isBuiltInType

public boolean isBuiltInType()
Determine whether the atomic type is a built-in type. The built-in atomic types are the 41 atomic types defined in XML Schema, plus xs:dayTimeDuration and xs:yearMonthDuration, xs:untypedAtomic, and all supertypes of these (xs:anyAtomicType, xs:numeric, ...)
Specified by:
isBuiltInType in interface SimpleType

isOrdered

public boolean isOrdered()
Determine whether the atomic type is ordered, that is, whether less-than and greater-than comparisons are permitted
Returns:
true if ordering operations are permitted

isPrimitiveType

public boolean isPrimitiveType()
Determine whether the atomic type is a primitive type. The primitive types are the 19 primitive types of XML Schema, plus xs:integer, xs:dayTimeDuration and xs:yearMonthDuration; xs:untypedAtomic; and all supertypes of these (xs:anyAtomicType, xs:numeric, ...)
Returns:
true if the type is considered primitive under the above rules

validate

public ValidationFailure validate(AtomicValue primValue,
                                  CharSequence lexicalValue,
                                  NameChecker checker)
Validate that a primitive atomic value is a valid instance of a type derived from the same primitive type.
Parameters:
primValue - the value in the value space of the primitive type.
lexicalValue - the value in the lexical space. If null, the string value of primValue is used. This value is checked against the pattern facet (if any)
checker - Used for checking names against XML 1.0 or XML 1.1 rules
Returns:
null if the value is valid; otherwise, a ValidationFailure object indicating the nature of the error.