net.sf.saxon.type

## Interface SchemaComponent

- All Superinterfaces:
    Serializable
  All Known Subinterfaces:
    AtomicType, ComplexType, ListType, SchemaType, SimpleType, UnionType, UserSchemaComponent
  All Known Implementing Classes:
    AllModelGroup, AnySimpleType, AnyType, Assertion, AttributeDecl, AttributeGroupDecl, AttributeUse, AttributeWildcard, BuiltInAtomicType, BuiltInListType, ChoiceModelGroup, Edge.MaxOccursParticle, ElementDecl, ElementParticle, ElementWildcard, ErrorType, IdentityConstraint, Key, KeyRef, ModelGroup, ModelGroupDefinition, ModelGroupParticle, Notation, Particle, SequenceModelGroup, SimpleTypeDefinition, TypeAlternative, Unique, Untyped, UserAtomicType, UserComplexType, UserDefinedType, UserListType, UserSimpleType, UserUnionType, Wildcard

      public interface SchemaComponent
      extends Serializable

  This is a marker interface that represents any "schema component" as defined in the XML Schema specification. This may be a user-defined schema component or a built-in schema component. Since all built-in schema components are types, every SchemaComponent in practice is either a `UserSchemaComponent` or a `SchemaType` or both.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static FunctionItemType` | `COMPONENT_FUNCTION_TYPE` The function type of the function returned by getComponentAsFunction()
    `static int` | `FIXED_UP` Validation status: fixed up (all references to other components have been resolved)
    `static int` | `INCOMPLETE` Validation status: validation attempted, component contains references to other components that are not (yet) available
    `static int` | `INVALID` Validation status: validation attempted and failed with fatal errors
    `static int` | `UNVALIDATED` Validation status: not yet validated
    `static int` | `VALIDATED` Validation status: successfully validated
    `static int` | `VALIDATING` Validation status: currently being validated

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `FunctionItem` | `getComponentAsFunction()` Get the schema component in the form of a function item.
    `int` | `getRedefinitionLevel()` Get the redefinition level.
    `int` | `getValidationStatus()` Get the validation status of this component.

- - ### Field Detail

    - #### UNVALIDATED

          static final int UNVALIDATED

      Validation status: not yet validated
      See Also:
        Constant Field Values

    - #### FIXED_UP

          static final int FIXED_UP

      Validation status: fixed up (all references to other components have been resolved)
      See Also:
        Constant Field Values

    - #### VALIDATING

          static final int VALIDATING

      Validation status: currently being validated
      See Also:
        Constant Field Values

    - #### VALIDATED

          static final int VALIDATED

      Validation status: successfully validated
      See Also:
        Constant Field Values

    - #### INVALID

          static final int INVALID

      Validation status: validation attempted and failed with fatal errors
      See Also:
        Constant Field Values

    - #### INCOMPLETE

          static final int INCOMPLETE

      Validation status: validation attempted, component contains references to other components that are not (yet) available
      See Also:
        Constant Field Values

    - #### COMPONENT_FUNCTION_TYPE

          static final FunctionItemType COMPONENT_FUNCTION_TYPE

      The function type of the function returned by getComponentAsFunction()

  - ### Method Detail

    - #### getValidationStatus

          int getValidationStatus()

      Get the validation status of this component.
      Returns:
        one of the values `UNVALIDATED`, `VALIDATING`, `VALIDATED`, `INVALID`, `INCOMPLETE`

    - #### getRedefinitionLevel

          int getRedefinitionLevel()

      Get the redefinition level. This is zero for a component that has not been redefined; for a redefinition of a level-0 component, it is 1; for a redefinition of a level-N component, it is N+1. This concept is used to support the notion of "pervasive" redefinition: if a component is redefined at several levels, the top level wins, but it is an error to have two versions of the component at the same redefinition level.
      Returns:
        the redefinition level

    - #### getComponentAsFunction

          FunctionItem getComponentAsFunction()

      Get the schema component in the form of a function item. This allows schema information to be made visible to XSLT or XQuery code. The function makes available the contents of the schema component as defined in the XSD specification. The function takes a string as argument representing a property name, and returns the corresponding property of the schema component. There is also a property "class" which returns the kind of schema component, for example "Attribute Declaration".
      Returns:
        the schema component represented as a function from property names to property values.

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.