## com.saxonica.schema
Interface UserSchemaComponent

All Superinterfaces:
  SchemaComponent, Serializable, SerializableSchemaComponent

All Known Subinterfaces:
  Particle

All Known Implementing Classes:
  AbstractParticle, AllCompositor, AttributeDecl, AttributeGroupDecl, AttributeGroupReference, AttributeUse, ChoiceCompositor, Compositor, ElementDecl, ElementParticle, ElementWildcard, GroupReference, IdentityConstraint, Key, KeyRef, ModelGroupDefinition, Notation, SequenceCompositor, SimpleTypeDefinition, Unique, UserComplexType

    public interface UserSchemaComponent

extends SchemaComponent, SerializableSchemaComponent

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`

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`

Method Summary
`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
`getValidationStatus`

Methods inherited from interface com.saxonica.schema.SerializableSchemaComponent
`getComponentTypeCode, serialize`

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,
                            ValidationException

  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.
    `ValidationException`

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