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.
- Version:
- $Id: XSDFACM.java,v 1.3 2002/01/29 01:15:16 lehors Exp $
- Author:
- Neil Graham, IBM
Constructor Summary |
XSDFACM(CMNode syntaxTree,
int leafCount)
Constructs a DFA content model. |
XSDFACM(CMNode syntaxTree,
int leafCount,
boolean mixed)
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:
symbolTable
- The symbol table.syntaxTree
- The syntax tree of the content model.leafCount
- The number of leaves.- Throws:
java.lang.RuntimeException
- Thrown if DFA can't be built.
XSDFACM
public XSDFACM(CMNode syntaxTree,
int leafCount,
boolean mixed)
- Constructs a DFA content model.
- Parameters:
symbolTable
- The symbol table.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 QNamestateStack
- stack to store the previous statecurPos
- the current position of the stack- 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:
errors
- to hold the UPA errors- Returns:
- true if this content model contains other or list wildcard
Copyright © 1999-2002 Apache XML Project. All Rights Reserved.