org.apache.xerces.impl.xs.models

Interface XSCMValidator

Known Implementing Classes:
XSAllCM, XSDFACM, XSEmptyCM

public interface XSCMValidator

Note: State of the content model is stored in the validator
Version:
$Id: XSCMValidator.java 573322 2007-09-06 16:48:47Z peterjm $
Authors:
Sandy Gao, IBM
Elena Litani, IBM

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
boolean
isCompactedForUPA()
Checks if this content model has had its min/maxOccurs values reduced for purposes of speeding up UPA.
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.
Vector
whatCanGoHere(int[] state)
Check which elements are valid to appear at this point.

Field Details

FIRST_ERROR

public static final short FIRST_ERROR
Field Value:
-1

SUBSEQUENT_ERROR

public static final short SUBSEQUENT_ERROR
Field Value:
-2

Method Details

checkUniqueParticleAttribution

public 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

endContentModel

public 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

isCompactedForUPA

public boolean isCompactedForUPA()
Checks if this content model has had its min/maxOccurs values reduced for purposes of speeding up UPA. If so, this content model should not be used for any purpose other than checking unique particle attribution
Returns:
a boolean that says whether this content has been compacted for UPA

oneTransition

public 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

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
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.
Parameters:
state - the current state
Returns:
a Vector whose entries are instances of either XSWildcardDecl or XSElementDecl.

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