## org.apache.xerces.impl.xs.models
Interface XSCMValidator

All Known Implementing Classes:
  XSAllCM, XSDFACM, XSEmptyCM

    public interface XSCMValidator

Note: State of the content model is stored in the validator

Version:
  $Id: XSCMValidator.java 446729 2006-09-15 20:44:44Z mrglavas $
Author:
  Sandy Gao, IBM, Elena Litani, IBM

# INTERNAL:

  Usage of this class is not supported. It may be altered or removed at any time.

Field Summary
`static short` `FIRST_ERROR`
`static short` `SUBSEQUENT_ERROR`

Method Summary
`boolean` `checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler)` check whether this content violates UPA constraint.
`boolean` `endContentModel(int[] state)` The method indicates the end of list of children
`java.lang.Object` `oneTransition(org.apache.xerces.xni.QName elementName, int[] state, SubstitutionGroupHandler subGroupHandler)` The method corresponds to one transaction in the content model.
`int[]` `startContentModel()` This methods to be called on entering a first element whose type has this content model.
`java.util.Vector` `whatCanGoHere(int[] state)` Check which elements are valid to appear at this point.

Field Detail

### FIRST_ERROR

    static final short FIRST_ERROR

See Also:
  Constant Field Values

### SUBSEQUENT_ERROR

    static final short SUBSEQUENT_ERROR

See Also:
  Constant Field Values

Method Detail

### startContentModel

    int[] startContentModel()

  This methods to be called on entering a first element whose type has this content model. It will return the initial state of the content model

  Returns:
    Start state of the content model

### oneTransition

    java.lang.Object oneTransition(org.apache.xerces.xni.QName elementName,
                                   int[] state,
                                   SubstitutionGroupHandler subGroupHandler)

  The method corresponds to one transaction in the content model.

  Parameters:
    `elementName` -
    `state` - Current state
  Returns:
    element decl or wildcard decl that corresponds to the element from the Schema grammar

### endContentModel

    boolean endContentModel(int[] state)

  The method indicates the end of list of children

  Parameters:
    `state` - Current state of the content model
  Returns:
    true if the last state was a valid final state

### checkUniqueParticleAttribution

    boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler)
                                           throws XMLSchemaException

  check whether this content violates UPA constraint.

  Parameters:
    `subGroupHandler` - the substitution group handler
  Returns:
    true if this content model contains other or list wildcard
  Throws:
    `XMLSchemaException`

### whatCanGoHere

    java.util.Vector whatCanGoHere(int[] state)

  Check which elements are valid to appear at this point. This method also works if the state is in error, in which case it returns what should have been seen.

  Parameters:
    `state` - the current state
  Returns:
    a Vector whose entries are instances of either XSWildcardDecl or XSElementDecl.

Copyright © 1999-2006 The Apache Software Foundation. All Rights Reserved.