|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.xerces.impl.xs.models.XSDFACM
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.
Field Summary |
Fields inherited from interface org.apache.xerces.impl.xs.models.XSCMValidator |
FIRST_ERROR, SUBSEQUENT_ERROR |
Constructor Summary | |
XSDFACM(CMNode syntaxTree,
int leafCount,
short schemaVersion,
XSOpenContentDecl openContent)
Constructs a DFA content model. |
Method Summary | |
boolean |
allowExpandedName(XSWildcardDecl wildcard,
org.apache.xerces.xni.QName curElem,
SubstitutionGroupHandler subGroupHandler,
XSElementDeclHelper eDeclHelper)
|
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 curElem,
SubstitutionGroupHandler subGroupHandler)
|
java.util.List |
getDefinedNames(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. |
boolean |
isFinalState(int state)
check whether the given state is one of the final states |
boolean |
isOpenContent(XSWildcardDecl w)
|
XSElementDecl |
nextElementTransition(int[] s,
int[] sn,
int[] index)
|
XSWildcardDecl |
nextWildcardTransition(int[] s,
int[] sn,
int[] index)
|
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 curElem,
int[] state,
SubstitutionGroupHandler subGroupHandler,
XSElementDeclHelper eDeclHelper)
one transition only |
void |
optimizeStates(org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM base,
int[] b,
int[] d,
int indexb)
|
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public XSDFACM(CMNode syntaxTree, int leafCount, short schemaVersion, XSOpenContentDecl openContent)
syntaxTree
- The syntax tree of the content model.leafCount
- The number of leaves.
java.lang.RuntimeException
- Thrown if DFA can't be built.Method Detail |
public boolean isFinalState(int state)
state
- the state to check
public java.lang.Object oneTransition(org.apache.xerces.xni.QName curElem, int[] state, SubstitutionGroupHandler subGroupHandler, XSElementDeclHelper eDeclHelper)
oneTransition
in interface XSCMValidator
curElem
- The current element's QNamestate
- stack to store the previous statesubGroupHandler
- the substitution group handlereDeclHelper
- A helper that allows inquiry of global element declarations
java.lang.RuntimeException
- thrown on errorpublic XSElementDecl findMatchingElemDecl(org.apache.xerces.xni.QName curElem, SubstitutionGroupHandler subGroupHandler)
findMatchingElemDecl
in interface XSCMValidator
public boolean allowExpandedName(XSWildcardDecl wildcard, org.apache.xerces.xni.QName curElem, SubstitutionGroupHandler subGroupHandler, XSElementDeclHelper eDeclHelper)
allowExpandedName
in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM
public int[] startContentModel()
XSCMValidator
startContentModel
in interface XSCMValidator
public boolean endContentModel(int[] state)
XSCMValidator
endContentModel
in interface XSCMValidator
state
- Current state of the content model
public boolean checkUniqueParticleAttribution(SubstitutionGroupHandler subGroupHandler, XSConstraints xsConstraints) throws XMLSchemaException
checkUniqueParticleAttribution
in interface XSCMValidator
subGroupHandler
- the substitution group handlerxsConstraints
- the XML Schema Constraint checker
XMLSchemaException
public java.util.Vector whatCanGoHere(int[] state)
whatCanGoHere
in interface XSCMValidator
state
- the current state
public int[] occurenceInfo(int[] state)
XSCMValidator
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:
occurenceInfo
in interface XSCMValidator
state
- the current state
public java.lang.String getTermName(int termId)
XSCMValidator
getTermName
in interface XSCMValidator
termId
- identifier for the element declaration or wildcard
public boolean isCompactedForUPA()
XSCMValidator
isCompactedForUPA
in interface XSCMValidator
public XSElementDecl nextElementTransition(int[] s, int[] sn, int[] index)
nextElementTransition
in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM
public XSWildcardDecl nextWildcardTransition(int[] s, int[] sn, int[] index)
nextWildcardTransition
in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM
public boolean isOpenContent(XSWildcardDecl w)
isOpenContent
in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM
public java.util.List getDefinedNames(SubstitutionGroupHandler subGroupHandler)
getDefinedNames
in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM
public void optimizeStates(org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM base, int[] b, int[] d, int indexb)
optimizeStates
in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |