org.apache.xerces.impl.xs.models

Class XSEmptyCM

Implemented Interfaces:
XSCMValidator

public class XSEmptyCM
extends java.lang.Object
implements XSCMValidator

XSEmptyCM is a derivative of the abstract content model base class that handles a content model with no chilren (elements). This model validated on the way in.
Version:
$Id: XSEmptyCM.java 320098 2004-10-06 15:14:55Z mrglavas $
Authors:
Elena Litani, Lisa Martin
IBM

Fields inherited from interface org.apache.xerces.impl.xs.models.XSCMValidator

FIRST_ERROR, SUBSEQUENT_ERROR

Method Summary

boolean
checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler)
check whether this content violates UPA constraint.
boolean
endContentModel(int[] currentState)
The method indicates the end of list of children
Object
oneTransition(org.apache.xerces.xni.QName elementName, int[] currentState, 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.
Vector
whatCanGoHere(int[] state)
Check which elements are valid to appear at this point.

Method Details

checkUniqueParticleAttribution

public boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler)
            throws XMLSchemaException
check whether this content violates UPA constraint.
Specified by:
checkUniqueParticleAttribution in interface XSCMValidator
Parameters:
subGroupHandler - the substitution group handler
Returns:
true if this content model contains other or list wildcard

endContentModel

public boolean endContentModel(int[] currentState)
The method indicates the end of list of children
Specified by:
endContentModel in interface XSCMValidator
Parameters:
currentState - Current state of the content model
Returns:
true if the last state was a valid final state

oneTransition

public Object oneTransition(org.apache.xerces.xni.QName elementName,
                            int[] currentState,
                            SubstitutionGroupHandler subGroupHandler)
The method corresponds to one transaction in the content model.
Specified by:
oneTransition in interface XSCMValidator
Parameters:
elementName - the qualified name of the element
currentState - Current state
subGroupHandler - the substitution group handler
Returns:
element index corresponding to the element from the Schema grammar

startContentModel

public 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
Specified by:
startContentModel in interface XSCMValidator
Returns:
Start state of the content model

whatCanGoHere

public 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.
Specified by:
whatCanGoHere in interface XSCMValidator
Parameters:
state - the current state
Returns:
a Vector whose entries are instances of either XSWildcardDecl or XSElementDecl.

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