net.sf.saxon.type
Interface SimpleType
- SchemaComponent, SchemaType, Serializable
- AtomicType, ListType
- AnySimpleType, BuiltInAtomicType, BuiltInListType, DotNetExternalObjectType, ExternalObjectType
public interface SimpleType
This interface represents a simple type, which may be a built-in simple type, or
a user-defined simple type.
allowsDerivation , analyzeContentExpression , atomize , checkTypeDerivationIsOK , getBaseType , getBlock , getDerivationMethod , getDescription , getDisplayName , getFingerprint , getName , getNameCode , getSystemId , getTargetNamespace , getTypedValue , isAnonymousType , isAtomicType , isComplexType , isSameType , isSimpleType |
getBuiltInBaseType
public SchemaType getBuiltInBaseType()
Get the built-in type from which this type is derived by restriction
- the built-in type from which this type is derived by restriction. This will not necessarily
be a primitive type.
getCommonAtomicType
public AtomicType getCommonAtomicType()
Get the most specific possible atomic type that all items in this SimpleType belong to
- the lowest common supertype of all member types
getTypedValue
public SequenceIterator getTypedValue(CharSequence value,
NamespaceResolver resolver,
NameChecker nameChecker)
throws ValidationException
Get the typed value corresponding to a given string value, assuming it is
valid against this type
value
- the string valueresolver
- a namespace resolver used to resolve any namespace prefixes appearing
in the content of values. Can supply null, in which case any namespace-sensitive content
will be rejected.nameChecker
- a NameChecker used in the case of types that are defined in terms of the
XML NCName syntax: this is used to check conformance to XML 1.0 or XML 1.1 naming rules, as
appropriate
- an iterator over the atomic sequence comprising the typed value. The objects
returned by this SequenceIterator will all be of type
AtomicValue
,
The next() method on the iterator throws no checked exceptions, although it is not actually
declared as an UnfailingIterator.
getWhitespaceAction
public int getWhitespaceAction(TypeHierarchy th)
Determine how values of this simple type are whitespace-normalized.
th
- the type hierarchy cache
isAtomicType
public boolean isAtomicType()
Test whether this Simple Type is an atomic type
- isAtomicType in interface SchemaType
- true if this is an atomic type
isBuiltInType
public boolean isBuiltInType()
Determine whether this is a built-in type or a user-defined type
- true if this is a built-in type
isExternalType
public boolean isExternalType()
Return true if this is an external object type, that is, a Saxon-defined type for external
Java or .NET objects
- true if this is an external type
isListType
public boolean isListType()
Test whether this Simple Type is a list type
- true if this is a list type
isNamespaceSensitive
public boolean isNamespaceSensitive()
Test whether this type is namespace sensitive, that is, if a namespace context is needed
to translate between the lexical space and the value space. This is true for types derived
from, or containing, QNames and NOTATIONs
- true if the type is namespace-sensitive
isUnionType
public boolean isUnionType()
Test whether this Simple Type is a union type
- true if this is a union type
validateContent
public ValidationFailure validateContent(CharSequence value,
NamespaceResolver nsResolver,
NameChecker nameChecker)
Check whether a given input string is valid according to this SimpleType
value
- the input string to be checkednsResolver
- a namespace resolver used to resolve namespace prefixes if the type
is namespace sensitive. The value supplied may be null; in this case any namespace-sensitive
content will throw an UnsupportedOperationException.nameChecker
- XML 1.0 or 1.1 name checker, needed when types such as xs:NCName are used
- null if validation succeeds; return a ValidationFailure describing the validation failure
if validation fails. Note that the exception is returned rather than being thrown.