Package net.sf.saxon.type
Interface PlainType
-
- All Superinterfaces:
ItemType
- All Known Subinterfaces:
AtomicType
- All Known Implementing Classes:
BuiltInAtomicType
,ErrorType
,LocalUnionType
,NumericType
,UserAtomicType
,UserUnionType
public interface PlainType extends ItemType
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
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.sf.saxon.type.ItemType
ItemType.WithSequenceTypeCache
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.lang.Iterable<? extends PlainType>
getPlainMemberTypes()
Get the list of plain types that are subsumed by this typeAtomicType
getPrimitiveItemType()
Redeclare getPrimitiveItemType() to return a more specific result type Get the primitive item type corresponding to this item type.StructuredQName
getTypeName()
Get the name of this type as a structured QNameboolean
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.boolean
matches(Item item, TypeHierarchy th)
Test whether a given item conforms to this type-
Methods inherited from interface net.sf.saxon.type.ItemType
explainMismatch, getAtomizedItemType, getBasicAlphaCode, getDefaultPriority, getFullAlphaCode, getGenre, getNormalizedDefaultPriority, getPrimitiveType, getUType, isAtomicType, isAtomizable, isPlainType, isTrueItemType, toExportString, toString
-
-
-
-
Method Detail
-
getTypeName
StructuredQName getTypeName()
Get the name of this type as a structured QName- Returns:
- the name of this type. If the type is anonymous, an internally-generated type name is returned
-
isNamespaceSensitive
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- Returns:
- true if any of the member types is namespace-sensitive, or if namespace sensitivity cannot be determined because there are components missing from the schema.
-
getPlainMemberTypes
java.lang.Iterable<? extends PlainType> getPlainMemberTypes() throws MissingComponentException
Get the list of plain types that are subsumed by this type- Returns:
- for an atomic type, the type itself; for a plain union type, the list of plain types in its transitive membership
- Throws:
MissingComponentException
-
matches
boolean matches(Item item, TypeHierarchy th)
Test whether a given item conforms to this type
-
getPrimitiveItemType
AtomicType getPrimitiveItemType()
Redeclare getPrimitiveItemType() to return a more specific result type Get the primitive item type corresponding to this item type. For anyAtomicValue and union types it is Type.ATOMIC_VALUE. For numeric it is Type.NUMBER. For other atomic types it is the primitive type as defined in XML Schema, except that integer, xs:dayTimeDuration, and xs:yearMonthDuration are considered to be primitive types.- Specified by:
getPrimitiveItemType
in interfaceItemType
- Returns:
- the corresponding primitive type (this is an instance of BuiltInAtomicType in all cases except where this type is xs:error. The class ErrorType does not inherit from BuiltInAtomicType because of multiple inheritance problems).
-
-