org.apache.xerces.impl.xs.models
Class XSDFACM
java.lang.Object
|
+--org.apache.xerces.impl.xs.models.XSDFACM
- All Implemented Interfaces:
- XSCMValidator
- public class XSDFACM
- extends java.lang.Object
- implements XSCMValidator
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.
INTERNAL:
- Usage of this class is not supported. It may be altered or removed at any time.
- Version:
- $Id: XSDFACM.java,v 1.13 2004/10/06 15:14:52 mrglavas Exp $
- Author:
- Neil Graham, IBM
Constructor Summary |
XSDFACM(CMNode syntaxTree,
int leafCount)
Constructs a DFA content model. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
XSDFACM
public XSDFACM(CMNode syntaxTree,
int leafCount)
- Constructs a DFA content model.
- Parameters:
syntaxTree
- The syntax tree of the content model.leafCount
- The number of leaves.- Throws:
java.lang.RuntimeException
- Thrown if DFA can't be built.
isFinalState
public boolean isFinalState(int state)
- check whether the given state is one of the final states
- Parameters:
state
- the state to check- Returns:
- whether it's a final state
oneTransition
public java.lang.Object oneTransition(org.apache.xerces.xni.QName curElem,
int[] state,
SubstitutionGroupHandler subGroupHandler)
- one transition only
- Specified by:
oneTransition
in interface XSCMValidator
- Parameters:
curElem
- The current element's QNamestate
- stack to store the previous statesubGroupHandler
- the substitution group handler- Returns:
- null if transition is invalid; otherwise the Object corresponding to the
XSElementDecl or XSWildcardDecl identified. Also, the
state array will be modified to include the new state; this so that the validator can
store it away.
- Throws:
java.lang.RuntimeException
- thrown on error
startContentModel
public int[] startContentModel()
- Description copied from interface:
XSCMValidator
- 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
- Following copied from interface:
org.apache.xerces.impl.xs.models.XSCMValidator
- Returns:
- Start state of the content model
endContentModel
public boolean endContentModel(int[] state)
- Description copied from interface:
XSCMValidator
- The method indicates the end of list of children
- Specified by:
endContentModel
in interface XSCMValidator
- Following copied from interface:
org.apache.xerces.impl.xs.models.XSCMValidator
- 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)
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
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.
- Specified by:
whatCanGoHere
in interface XSCMValidator
- Parameters:
state
- the current state- Returns:
- a Vector whose entries are instances of
either XSWildcardDecl or XSElementDecl.
Copyright © 1999-2005 Apache XML Project. All Rights Reserved.