# Package com.saxonica.ee.schema.fsa

The package `com.saxonica.ee.schema.fsa` contains classes used to implement the finite state machines used when validating document instances against a schema.

None of these classes will be used by typical user applications.

- Interface Summary
  Interface | Description
  --- | ---
  State | A State is a dynamic state of the finite state machine.

- Class Summary
  Class | Description
  --- | ---
  AutomatonState | Defines a state of a finite state machine used when validating an instance against a complex type.
  CountingState | A counting state is a dynamic object representing the combination of an AutomatonState and a counter value
  DeterminizedState | A state in a determinized finite state machine
  Edge | Internal class to represent the data associated with a transition: the element that triggers the transition, and the new state that results from the transition.
  Edge.MaxOccursParticle |
  Edge.MaxOccursTerm | Special singular Term identifying a transition to be used when the maxOccurs value of a counting state is reached.
  FiniteStateMachine | Class representing a finite state machine, as a collection of states with transitions between them.
  FiniteStateMachine.TermParticlePair |
  NonDeterminizedState | A state in the non-determinized finite state machine
  SuffixState | The state of a finite state machine that is processing "suffix" open content.