public class UserAtomicType extends UserSimpleType implements AtomicType
extendedTypes, finalProhibitions
DERIVATION_EXTENSION, DERIVATION_LIST, DERIVATION_RESTRICTION, DERIVATION_UNION, DERIVE_BY_SUBSTITUTION
COMPONENT_FUNCTION_TYPE, FIXED_UP, INCOMPLETE, INVALID, UNVALIDATED, VALIDATED, VALIDATING
Constructor and Description |
---|
UserAtomicType(EnterpriseConfiguration config)
Create a UserAtomicType
|
Modifier and Type | Method and Description |
---|---|
AtomicType |
getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item
of this type is atomized
|
Set<? extends PlainType> |
getPlainMemberTypes()
Get the set of atomic types that are subsumed by this type
|
ItemType |
getPrimitiveItemType()
Get the primitive type from which this type is derived.
|
int |
getPrimitiveType()
Get the primitive type from which this type is derived.
|
String |
getSharedInstance(String value)
Get an instance of the facet value that is stored in the schema rather than the instance
|
StringConverter |
getStringConverter(ConversionRules rules)
Get a StringConverter, an object which converts strings in the lexical space of this
data type to instances (in the value space) of the data type.
|
ItemType |
getSuperType(TypeHierarchy th)
Get the type from which this item type is derived by restriction.
|
AtomicSequence |
getTypedValue(CharSequence value,
NamespaceResolver resolver,
ConversionRules rules)
Get the typed value corresponding to a given string value, assuming it is
valid against this type
|
StructuredQName |
getTypeName()
Get the name of this type as a StructuredQName, unless the type is anonymous, in which case
return null
|
int |
hashCode()
Returns a hash code value for the object.
|
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 |
isAtomicType()
Test whether this Simple Type is an atomic type
|
boolean |
isAtomizable()
Ask whether values of this type are atomizable
|
boolean |
isBuiltInType()
Determine whether this is a built-in type or a user-defined type
|
boolean |
isIdRefType()
Ask whether this type is an IDREF or IDREFS type.
|
boolean |
isIdType()
Ask whether this type is an ID type.
|
boolean |
isNamespaceSensitive()
Test whether this simple type is namespace-sensitive, that is, whether
it is derived from xs:QName or xs:NOTATION
|
boolean |
isOrdered(boolean optimistic)
Determine whether the atomic type is ordered, that is, whether less-than and greater-than comparisons
are permitted
|
boolean |
isPlainType()
Ask whether this is a plain type (a type whose instances are always atomic values)
|
boolean |
isPrimitiveType()
Determine whether the atomic type is a primitive type.
|
boolean |
matches(Item item,
XPathContext context)
Test whether a given item conforms to this type
|
boolean |
matchesItem(Item item,
boolean allowURIPromotion,
Configuration config)
Test whether a given item conforms to this type
|
void |
serializeVariety(SchemaModelSerializer serializer)
Serialize the schema component
|
String |
toString()
Produce a string representation of the type name.
|
ValidationFailure |
validate(AtomicValue primValue,
CharSequence lexicalValue,
ConversionRules rules)
Validate that a primitive atomic value is a valid instance of a type derived from the
same primitive type.
|
boolean |
validate(SchemaCompiler compiler)
Checks the validity of this SimpleType definition.
|
ValidationFailure |
validateContent(CharSequence value,
NamespaceResolver nsResolver,
ConversionRules rules)
Check whether a given input string is valid according to this SimpleType
|
void |
visitNamedSchemaComponents(SchemaComponentVisitor visitor)
Visit all the schema components used in this ItemType definition
|
addFacet, addInheritedFacets, analyzeContentExpression, applyWhitespaceNormalization, atomize, checkAgainstFacets, checkTypeDerivationIsOK, convertFacetValues, elaborate, getBuiltInBaseType, getComponentAsFunction, getComponentAsFunction, getContextComponent, getEQName, getExtendedFacetList, getFacet, getLocalFacetList, getWhitespaceAction, isListType, isSimpleType, isTypeDerivationOK, isUnionType, mergeEnumerationFacets, postprocess, preprocess, serialize, setContextComponent, setFacetList
allowsDerivation, containingDeclarationIsElement, getBaseType, getBaseTypeFingerprint, getBaseTypeReference, getBlock, getContainingDeclarationName, getDerivationMethod, getDescription, getDisplayName, getExtensionTypes, getFinalProhibitions, getFingerprint, getLocalName, getName, getNameCode, getNamePool, getTargetNamespace, isAnonymousType, isComplexType, isExternalType, isSameType, registerExtensionType, setBaseTypeReference, setContainingDeclaration, setDerivationMethod, setDerivationMethodName, setExtendedTypes, setFinalProhibitions, setNameCode
fixup, getColumnNumber, getConfiguration, getFixupStatus, getLineNumber, getPublicId, getRedefinitionLevel, getSchemaDocumentURI, getSystemId, getValidationStatus, lookForCycles, makeXPathExpressionPropertyRecord, setConfiguration, setFixupStatus, setLineNumber, setLocator, setRedefinitionLevel, setSchemaDocumentURI, setSystemId, setValidationStatus
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
getBuiltInBaseType, getWhitespaceAction, isExternalType, isListType, isUnionType, postprocess, preprocess
allowsDerivation, analyzeContentExpression, atomize, checkTypeDerivationIsOK, getBaseType, getBlock, getDerivationMethod, getDescription, getDisplayName, getEQName, getFinalProhibitions, getFingerprint, getName, getNameCode, getSystemId, getTargetNamespace, isAnonymousType, isComplexType, isSameType, isSimpleType
getComponentAsFunction, getRedefinitionLevel, getValidationStatus
isExternalType
fixup, lookForCycles
public UserAtomicType(EnterpriseConfiguration config)
config
- the Saxon configurationpublic boolean isAtomicType()
isAtomicType
in interface ItemType
isAtomicType
in interface SchemaType
isAtomicType
in interface SimpleType
isAtomicType
in class UserSimpleType
public boolean isPlainType()
isPlainType
in interface ItemType
public boolean isIdType()
isIdType
in interface SchemaType
isIdType
in class UserSimpleType
public boolean isIdRefType()
isIdRefType
in interface SchemaType
isIdRefType
in class UserSimpleType
public boolean isBuiltInType()
isBuiltInType
in interface AtomicType
isBuiltInType
in interface SimpleType
public StructuredQName getTypeName()
getTypeName
in interface AtomicType
public boolean isPrimitiveType()
isPrimitiveType
in interface AtomicType
public boolean isOrdered(boolean optimistic)
isOrdered
in interface AtomicType
optimistic
- if true, the function takes an optimistic view, returning true if ordering comparisons
are available for some subtype. This mainly affects xs:duration, where the function returns true if
optimistic is true, false if it is false.public boolean isAbstract()
isAbstract
in interface AtomicType
public StringConverter getStringConverter(ConversionRules rules)
getStringConverter
in interface AtomicType
rules
- the conversion rules to be usedpublic boolean validate(SchemaCompiler compiler) throws SchemaException
validate
in interface UserSchemaComponent
validate
in class UserSimpleType
compiler
- used for error reportingSchemaException
- when this SimpleType definition
is invalid.public boolean matches(Item item, XPathContext context)
public boolean matchesItem(Item item, boolean allowURIPromotion, Configuration config)
matchesItem
in interface ItemType
item
- The item to be testedallowURIPromotion
- true if URIs can be promoted to stringsconfig
- the Saxon configurationpublic ValidationFailure validateContent(CharSequence value, NamespaceResolver nsResolver, ConversionRules rules)
validateContent
in interface 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.rules
- the conversion rules for this ConfigurationUnsupportedOperationException
- if the type is namespace-sensitive and no namespace
resolver is suppliedpublic AtomicSequence getTypedValue(CharSequence value, NamespaceResolver resolver, ConversionRules rules) throws ValidationException
getTypedValue
in interface SimpleType
value
- the string valueresolver
- the namespace resolverrules
- the conversion rules for the Saxon configurationValidationException
- if the supplied value is not in the lexical space of the data typepublic ItemType getSuperType(TypeHierarchy th)
getSuperType
in interface ItemType
th
- the type hierarchy cachepublic ItemType getPrimitiveItemType()
Type.isPrimitiveType(int)
getPrimitiveItemType
in interface ItemType
public int getPrimitiveType()
Type.isPrimitiveType(int)
getPrimitiveType
in interface ItemType
public boolean isNamespaceSensitive()
isNamespaceSensitive
in interface SimpleType
public AtomicType getAtomizedItemType()
getAtomizedItemType
in interface ItemType
public boolean isAtomizable()
isAtomizable
in interface ItemType
public String getSharedInstance(String value)
value
- the value requiredpublic String toString()
toString
in class UserDefinedType
public int hashCode()
public ValidationFailure validate(AtomicValue primValue, CharSequence lexicalValue, ConversionRules rules)
validate
in interface AtomicType
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)rules
- the conversion rules used for this configurationUnsupportedOperationException
- in the case of an external object typepublic void serializeVariety(SchemaModelSerializer serializer) throws XPathException
serializeVariety
in class UserSimpleType
XPathException
public void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitNamedSchemaComponents
in interface ItemType
visitor
- the visitor class to be called when each component is visitedXPathException
- if an error occurspublic Set<? extends PlainType> getPlainMemberTypes()
getPlainMemberTypes
in interface PlainType
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.