Class XSAllCM
- java.lang.Object
-
- org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.models.XSAllCM
-
- All Implemented Interfaces:
XSCMValidator
public class XSAllCM extends Object implements XSCMValidator
XSAllCM implements XSCMValidator and handles <all>.- Version:
- $Id$
- Author:
- Pavani Mukthipudi, Sun Microsystems Inc.
-
-
Field Summary
-
Fields inherited from interface org.smooks.engine.delivery.sax.ng.org.apache.xerces.impl.xs.models.XSCMValidator
FIRST_ERROR, SUBSEQUENT_ERROR
-
-
Constructor Summary
Constructors Constructor Description XSAllCM(boolean hasOptionalContent, int size)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddElement(XSElementDecl element, boolean isOptional)booleancheckUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler)check whether this content violates UPA constraint.booleanendContentModel(int[] currentState)The method indicates the end of list of childrenStringgetTermName(int termId)Returns the name of the term (element or wildcard) for the given identifier.booleanisCompactedForUPA()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 ornullif no occurrence counting was being performed at the current state.ObjectoneTransition(QName elementName, int[] currentState, SubstitutionGroupHandler subGroupHandler)The method corresponds to one transition in the content model.int[]startContentModel()This methods to be called on entering a first element whose type has this content model.VectorwhatCanGoHere(int[] state)Check which elements are valid to appear at this point.
-
-
-
Method Detail
-
addElement
public void addElement(XSElementDecl element, boolean isOptional)
-
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:
startContentModelin interfaceXSCMValidator- Returns:
- Start state of the content model
-
oneTransition
public Object oneTransition(QName elementName, int[] currentState, SubstitutionGroupHandler subGroupHandler)
The method corresponds to one transition in the content model.- Specified by:
oneTransitionin interfaceXSCMValidator- Parameters:
elementName-currentState- Current state- Returns:
- an element decl object
-
endContentModel
public boolean endContentModel(int[] currentState)
The method indicates the end of list of children- Specified by:
endContentModelin interfaceXSCMValidator- Parameters:
currentState- 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:
checkUniqueParticleAttributionin interfaceXSCMValidator- Parameters:
subGroupHandler- the substitution group handler- Returns:
- true if this content model contains other or list wildcard
- Throws:
XMLSchemaException
-
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:
whatCanGoHerein interfaceXSCMValidator- Parameters:
state- the current state- Returns:
- a Vector whose entries are instances of either XSWildcardDecl or XSElementDecl.
-
occurenceInfo
public int[] occurenceInfo(int[] state)
Description copied from interface:XSCMValidatorReturns an array containing information about the current repeating term or
nullif no occurrence counting was being performed at the current state.If an array is returned it will have a length == 4 and will contain:
- a[0] :: min occurs
- a[1] :: max occurs
- a[2] :: current value of the counter
- a[3] :: identifier for the repeating term
- Specified by:
occurenceInfoin interfaceXSCMValidator- Parameters:
state- the current state- Returns:
- an array containing information about the current repeating term
-
getTermName
public String getTermName(int termId)
Description copied from interface:XSCMValidatorReturns the name of the term (element or wildcard) for the given identifier.- Specified by:
getTermNamein interfaceXSCMValidator- Parameters:
termId- identifier for the element declaration or wildcard- Returns:
- the name of the element declaration or wildcard
-
isCompactedForUPA
public boolean isCompactedForUPA()
Description copied from interface:XSCMValidatorChecks 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- Specified by:
isCompactedForUPAin interfaceXSCMValidator- Returns:
- a boolean that says whether this content has been compacted for UPA
-
-