Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.xerces.impl.xs.models
Class XSDFACM

    java.lang.Object
      |
      +--org.apache.xerces.impl.xs.models.XSDFACM

All Implemented Interfaces:
  XSCMValidator

public class XSDFACM
extends java.lang.Object
implements XSCMValidator

DFAContentModel is the implementation of XSCMValidator that does all of the non-trivial element content validation. This class does the conversion from the regular expression to the DFA that it then uses in its validation algorithm.

Version:
  $Id: XSDFACM.java,v 1.8 2002/11/20 00:49:47 twl Exp $
Author:
  Neil Graham, IBM

Fields inherited from interface org.apache.xerces.impl.xs.models.XSCMValidator
`FIRST_ERROR, SUBSEQUENT_ERROR`

Constructor Summary
`XSDFACM(CMNode syntaxTree, int leafCount)` Constructs a DFA content model.

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
`boolean` | `isFinalState(int state)` check whether the given state is one of the final states
`java.lang.Object` | `oneTransition(org.apache.xerces.xni.QName curElem, int[] state, SubstitutionGroupHandler subGroupHandler)` one transition only
`int[]` | `startContentModel()` This methods to be called on entering a first element whose type has this content model.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XSDFACM

    public XSDFACM(CMNode syntaxTree,
                   int leafCount)

  Constructs a DFA content model.
  Parameters:
    `symbolTable` - The symbol table.
    `syntaxTree` - The syntax tree of the content model.
    `leafCount` - The number of leaves.
  Throws:
    `java.lang.RuntimeException` - Thrown if DFA can't be built.

Method Detail

### isFinalState

    public boolean isFinalState(int state)

  check whether the given state is one of the final states
  Parameters:
    `state` - the state to check
  Returns:
    whether it's a final state

### oneTransition

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

  one transition only
  Specified by:
    `oneTransition` in interface `XSCMValidator`
  Parameters:
    `curElem` - The current element's QName
    `stateStack` - stack to store the previous state
    `curPos` - the current position of the stack
  Returns:
    null if transition is invalid; otherwise the Object corresponding to the XSElementDecl or XSWildcardDecl identified. Also, the state array will be modified to include the new state; this so that the validator can store it away.
  Throws:
    `java.lang.RuntimeException` - thrown on error

### startContentModel

    public int[] startContentModel()

  Description copied from interface: `XSCMValidator`
  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
  Specified by:
    `startContentModel` in interface `XSCMValidator`
  Following copied from interface: `org.apache.xerces.impl.xs.models.XSCMValidator`
  Returns:
    Start state of the content model

### endContentModel

    public boolean endContentModel(int[] state)

  Description copied from interface: `XSCMValidator`
  The method indicates the end of list of children
  Specified by:
    `endContentModel` in interface `XSCMValidator`
  Following copied from interface: `org.apache.xerces.impl.xs.models.XSCMValidator`
  Parameters:
    `state` - Current state of the content model
  Returns:
    true if the last state was a valid final state

### checkUniqueParticleAttribution

    public boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler)
                                           throws XMLSchemaException

  check whether this content violates UPA constraint.
  Specified by:
    `checkUniqueParticleAttribution` in interface `XSCMValidator`
  Parameters:
    `errors` - to hold the UPA errors
  Returns:
    true if this content model contains other or list wildcard

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1999-2003 Apache XML Project. All Rights Reserved.