Overview | Package | Class | Deprecated | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.sdoc
Class SimpleTypeDefinition

    java.lang.Object
      com.saxonica.schema.SchemaStructure
          com.saxonica.schema.SchemaTypeImpl
              com.saxonica.schema.UserSimpleType
                  com.saxonica.sdoc.SimpleTypeDefinition

All Implemented Interfaces:
  SerializableSchemaComponent, UserSchemaComponent, Serializable, SourceLocator, SchemaComponent, SchemaType, SimpleType

    public class SimpleTypeDefinition

extends UserSimpleType
implements UserSchemaComponent

A simple type definition holds all the information about a simpleType during the course of schema processing. On completion of schema processing, more specific objects are created, for example ListType, AtomicType, or UnionType, and the SimpleTypeDefinition is then discarded.

See Also:
  Serialized Form

Field Summary

Fields inherited from interface net.sf.saxon.type.SchemaComponent
`FIXED_UP, INCOMPLETE, INVALID, UNVALIDATED, VALIDATED, VALIDATING`

Fields inherited from interface com.saxonica.schema.SerializableSchemaComponent
`ALL_COMPOSITOR, ATOMIC_TYPE, ATTRIBUTE_DECL, ATTRIBUTE_GROUP, ATTRIBUTE_GROUP_REF, ATTRIBUTE_USE, ATTRIBUTE_WILDCARD, CHOICE_COMPOSITOR, COMPLEX_TYPE, ELEMENT_DECL, ELEMENT_PARTICLE, ELEMENT_WILDCARD, FACET, KEY, KEYREF, LIST_TYPE, MODEL_GROUP, MODEL_GROUP_REF, NOTATION, SEQUENCE_COMPOSITOR, UNION_TYPE, UNIQUE`

Fields inherited from interface net.sf.saxon.type.SchemaType
`DERIVATION_EXTENSION, DERIVATION_LIST, DERIVATION_RESTRICTION, DERIVATION_UNION, DERIVE_BY_SUBSTITUTION`

Constructor Summary
`SimpleTypeDefinition(PreparedSchema schema)`

Method Summary
`void` | `addMemberType(TypeReference memberType)`
`boolean` | `fixup(SchemaCompiler compiler)` Check references from this component to other components
`AtomicType` | `getCommonAtomicType()` Get the most specific possible atomic type that all items in this SimpleType belong to
`int` | `getComponentTypeCode()` Get a unique number identifying the type of component
`UserSimpleType` | `getSimpleType()` Get the simple type created for this definition
`SequenceIterator` | `getTypedValue(CharSequence value, NamespaceResolver resolver, NameChecker nameChecker)` Get the typed value corresponding to a given string value, assuming it is valid against this type
`boolean` | `isBuiltInType()` Determine whether this is a built-in type or a user-defined type
`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.
`void` | `serialize(SchemaSerializer serializer)` Serialize the schema component
`void` | `setIsSimpleContent(boolean b)` Indicate that this simple type represents the content type of a complex type with simple content
`void` | `setItemTypeReference(TypeReference itemType)`
`boolean` | `validate(SchemaCompiler compiler)` Checks the validity of this SimpleType definition.
`ValidationException` | `validateContent(CharSequence value, NamespaceResolver nsResolver, NameChecker nameChecker)` Check whether a given input string is valid according to this SimpleType

Methods inherited from class com.saxonica.schema.UserSimpleType
`analyzeContentExpression, applyWhitespaceNormalization, atomize, checkAgainstFacets, checkTypeDerivationIsOK, getBuiltInBaseType, getFacet, getFacetCollection, getFacetList, getFacets, getFacets, getTypedValue, getWhitespaceAction, isAtomicType, isListType, isSimpleType, isTypeDerivationOK, isUnionType, setFacetCollection`

Methods inherited from class com.saxonica.schema.SchemaTypeImpl
`allowsDerivation, containingDeclarationIsElement, getBaseType, getBaseTypeFingerprint, getBaseTypeReference, getBlock, getContainingDeclarationName, getDerivationMethod, getDescription, getDisplayName, getFingerprint, getLocalName, getNameCode, getNamePool, isAnonymousType, isComplexType, isExternalType, isSameType, setBaseTypeReference, setContainingDeclaration, setDerivationMethod, setDerivationMethodName, setFinalProhibitions, setLocalName, setNameCode, setNamePool`

Methods inherited from class com.saxonica.schema.SchemaStructure
`getColumnNumber, getConfiguration, getFixupStatus, getLineNumber, getPublicId, getSystemId, getValidationStatus, lookForCycles, setConfiguration, setFixupStatus, setLineNumber, setLocator, setSystemId, setValidationStatus`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface com.saxonica.schema.UserSchemaComponent
`lookForCycles`

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

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

Methods inherited from interface net.sf.saxon.type.SchemaType
`allowsDerivation, getBaseType, getBlock, getDerivationMethod, getDescription, getDisplayName, getFingerprint, getNameCode, isAnonymousType, isComplexType, isSameType`

Constructor Detail

### SimpleTypeDefinition

    public SimpleTypeDefinition(PreparedSchema schema)

Method Detail

### setItemTypeReference

    public void setItemTypeReference(TypeReference itemType)

### setIsSimpleContent

    public void setIsSimpleContent(boolean b)

  Indicate that this simple type represents the content type of a complex type with simple content

  Parameters:
    `b` - true if this is the content type of a complex type with simple content

### addMemberType

    public void addMemberType(TypeReference memberType)

### getSimpleType

    public UserSimpleType getSimpleType()

  Get the simple type created for this definition

### getCommonAtomicType

    public AtomicType getCommonAtomicType()

  Get the most specific possible atomic type that all items in this SimpleType belong to

  Specified by:
    `getCommonAtomicType` in interface `SimpleType`
  Returns:
    the lowest common supertype of all member types

### fixup

    public boolean fixup(SchemaCompiler compiler)
                  throws SchemaException

  Check references from this component to other components

  Specified by:
    `fixup` in interface `UserSchemaComponent`
  Parameters:
    `compiler` -
  Returns:
    true if all is well, false if errors found
  Throws:
    `SchemaException`

### validate

    public boolean validate(SchemaCompiler compiler)
                     throws SchemaException,
                            ValidationException

  Checks the validity of this SimpleType definition.

  Specified by:
    `validate` in interface `UserSchemaComponent`
  Overrides:
    `validate` in class `UserSimpleType`
  Returns:
    true when this Schema definition is valid, otherwise false.
  Throws:
    `SchemaException` - when this SimpleType definition is invalid.
    `ValidationException`

### 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

  Specified by:
    `getTypedValue` in interface `SimpleType`
  Parameters:
    `value` - the string value
    `resolver` - a namespace resolver used to resolve prefixes in QNames and notations
    `nameChecker` -
  Returns:
    an iterator over the atomic sequence comprising the typed value
  Throws:
    `ValidationException` - if the supplied value is not in the lexical space of the data type

### isBuiltInType

    public boolean isBuiltInType()

  Determine whether this is a built-in type or a user-defined type

  Specified by:
    `isBuiltInType` in interface `SimpleType`

### 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

  Specified by:
    `isNamespaceSensitive` in interface `SimpleType`
  Returns:
    true if the type is namespace-sensitive

### validateContent

    public ValidationException validateContent(CharSequence value,
                                               NamespaceResolver nsResolver,
                                               NameChecker nameChecker)

  Check whether a given input string is valid according to this SimpleType

  Specified by:
    `validateContent` in interface `SimpleType`
  Parameters:
    `value` - the input string to be checked
    `nsResolver` - 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` -
  Returns:
    null if validation succeeds; return a ValidationException describing the validation failure if validation fails. Note that the exception is returned rather than being thrown.
  Throws:
    `UnsupportedOperationException` - if the type is namespace-sensitive and no namespace resolver is supplied

### serialize

    public void serialize(SchemaSerializer serializer)

  Serialize the schema component

  Specified by:
    `serialize` in interface `SerializableSchemaComponent`

### getComponentTypeCode

    public int getComponentTypeCode()

  Get a unique number identifying the type of component

  Specified by:
    `getComponentTypeCode` in interface `SerializableSchemaComponent`

Overview | Package | Class | Deprecated | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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