## com.saxonica.schema
Interface UserSchemaComponent

All Superinterfaces:
  SchemaComponent, Serializable

All Known Implementing Classes:
  AllModelGroup, AttributeDecl, AttributeGroupDecl, AttributeGroupReference, AttributeUse, AttributeWildcard, ChoiceModelGroup, Edge.MaxOccursParticle, ElementDecl, ElementParticle, ElementWildcard, IdentityConstraint, Key, KeyRef, ModelGroup, ModelGroupDefinition, ModelGroupParticle, Notation, Particle, SequenceModelGroup, SimpleTypeDefinition, Unique, UserAtomicType, UserComplexType, UserDefinedType, UserListType, UserSimpleType, UserUnionType, Wildcard

    public interface UserSchemaComponent

extends SchemaComponent

A SchemaComponent is an object in a schema. While the schema is being built, a list of such objects is maintained, and on completion, the fixup method is called to resolve forwards references. Subsequently, the validate method is called to invoke validation

Field Summary

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

Method Summary
`void` `elaborate(SchemaCompiler compiler)` Elaborate the schema component: after reloading a serialized schema component model, this expands the component with derived information needed during validation episodes.
`boolean` `fixup(SchemaCompiler compiler)` Check references from this component to other components
`void` `lookForCycles(Stack references, SchemaCompiler compiler)` This method is called to look for cycles.
`boolean` `validate(SchemaCompiler compiler)` Checks the validity of this Schema component.

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

Method Detail

### fixup

    boolean fixup(SchemaCompiler compiler)
                  throws SchemaException

  Check references from this component to other components

  Parameters:
    `compiler` -
  Returns:
    true if all is well, false if errors found
  Throws:
    `SchemaException`

### lookForCycles

    void lookForCycles(Stack references,
                       SchemaCompiler compiler)
                       throws SchemaException,
                              UnresolvedReferenceException

  This method is called to look for cycles. The object implementing this method is required (a) to raise an exception if the object itself appears in the list of references, (b) to add itself to the list of references, and (c) to call the lookForCycles method on all the objects that it references.

  Parameters:
    `references` - A stack of objects that contain direct or indirect references to this object, and that must therefore not be referred to from this object.
    `compiler` -
  Throws:
    `SchemaException`
    `UnresolvedReferenceException`

### validate

    boolean validate(SchemaCompiler compiler)
                     throws SchemaException

  Checks the validity of this Schema component.

  Parameters:
    `compiler` -
  Returns:
    true when this Schema definition is valid, otherwise false.
  Throws:
    `SchemaException` - if the ErrorListener decides that an error is fatal.

### elaborate

    void elaborate(SchemaCompiler compiler)
                   throws SchemaException

  Elaborate the schema component: after reloading a serialized schema component model, this expands the component with derived information needed during validation episodes. The model is assumed to be valid.

  Parameters:
    `compiler` -
  Throws:
    `SchemaException`

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