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

All Known Implementing Classes:
XS11AllCM, XSAllCM, XSDFACM, XSEmptyCM

public interface XSCMValidator

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

Version:
$Id: XSCMValidator.java 1155073 2011-08-08 20:02:50Z knoaman $
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, XSConstraints xsConstraints)
          check whether this content violates UPA constraint.
 boolean endContentModel(int[] state)
          The method indicates the end of list of children
 XSElementDecl findMatchingElemDecl(org.apache.xerces.xni.QName elementName, SubstitutionGroupHandler subGroupHandler)
           
 java.lang.String getTermName(int termId)
          Returns the name of the term (element or wildcard) for the given identifier.
 boolean isCompactedForUPA()
          Checks if this content model has had its min/maxOccurs values reduced for purposes of speeding up UPA.
 int[] occurenceInfo(int[] state)
          Returns an array containing information about the current repeating term or null if no occurrence counting was being performed at the current state.
 java.lang.Object oneTransition(org.apache.xerces.xni.QName elementName, int[] state, SubstitutionGroupHandler subGroupHandler, XSElementDeclHelper eDeclHelper)
          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

public static final short FIRST_ERROR
See Also:
Constant Field Values

SUBSEQUENT_ERROR

public static final short SUBSEQUENT_ERROR
See Also:
Constant Field Values
Method Detail

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

oneTransition

public java.lang.Object oneTransition(org.apache.xerces.xni.QName elementName,
                                      int[] state,
                                      SubstitutionGroupHandler subGroupHandler,
                                      XSElementDeclHelper eDeclHelper)
The method corresponds to one transaction in the content model.

Parameters:
elementName -
state - Current state
eDeclHelper - A helper that allows inquiry of global element declarations
Returns:
element decl or wildcard decl that corresponds to the element from the Schema grammar

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

checkUniqueParticleAttribution

public boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler,
                                              XSConstraints xsConstraints)
                                       throws XMLSchemaException
check whether this content violates UPA constraint.

Parameters:
subGroupHandler - the substitution group handler
xsConstraints - the XML Schema Constraint checker
Returns:
true if this content model contains other or list wildcard
Throws:
XMLSchemaException

whatCanGoHere

public 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.

occurenceInfo

public int[] occurenceInfo(int[] state)

Returns an array containing information about the current repeating term or null if no occurrence counting was being performed at the current state.

If an array is returned it will have a length == 4 and will contain:

Parameters:
state - the current state
Returns:
an array containing information about the current repeating term

getTermName

public java.lang.String getTermName(int termId)
Returns the name of the term (element or wildcard) for the given identifier.

Parameters:
termId - identifier for the element declaration or wildcard
Returns:
the name of the element declaration or wildcard

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

findMatchingElemDecl

public XSElementDecl findMatchingElemDecl(org.apache.xerces.xni.QName elementName,
                                          SubstitutionGroupHandler subGroupHandler)


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