org.apache.xerces.impl.xs.models
Class XSEmptyCM

java.lang.Object
  extended byorg.apache.xerces.impl.xs.models.XSEmptyCM
All Implemented Interfaces:
org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM, XSCMValidator

public class XSEmptyCM
extends java.lang.Object
implements XSCMValidator, org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM

XSEmptyCM is a derivative of the abstract content model base class that handles a content model with no children (elements). This model validated on the way in.

Version:
$Id: XSEmptyCM.java 1155073 2011-08-08 20:02:50Z knoaman $
Author:
Elena Litani, IBM, Lisa Martin, IBM

INTERNAL:

Usage of this class is not supported. It may be altered or removed at any time.

Field Summary
 
Fields inherited from interface org.apache.xerces.impl.xs.models.XSCMValidator
FIRST_ERROR, SUBSEQUENT_ERROR
 
Constructor Summary
XSEmptyCM()
           
XSEmptyCM(XSOpenContentDecl openContent)
           
 
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[] currentState)
          The method indicates the end of list of children
 XSElementDecl findMatchingElemDecl(org.apache.xerces.xni.QName elementName, SubstitutionGroupHandler subGroupHandler)
           
 java.util.List getDefinedNames(SubstitutionGroupHandler subGroupHandler)
           
 XSOpenContentDecl getOpenContent()
           
 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 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 elementName, int[] currentState, SubstitutionGroupHandler subGroupHandler, XSElementDeclHelper eDeclHelper)
          The method corresponds to one transaction in the content model.
 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

XSEmptyCM

public XSEmptyCM()

XSEmptyCM

public XSEmptyCM(XSOpenContentDecl openContent)
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

Specified by:
startContentModel in interface XSCMValidator
Returns:
Start state of the content model

oneTransition

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

Specified by:
oneTransition in interface XSCMValidator
Parameters:
elementName - the qualified name of the element
currentState - Current state
subGroupHandler - the substitution group handler
eDeclHelper - A helper that allows inquiry of global element declarations
Returns:
element index corresponding to the element from the Schema grammar

endContentModel

public boolean endContentModel(int[] currentState)
The method indicates the end of list of children

Specified by:
endContentModel in interface XSCMValidator
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,
                                              XSConstraints xsConstraints)
                                       throws XMLSchemaException
check whether this content violates UPA constraint.

Specified by:
checkUniqueParticleAttribution in interface XSCMValidator
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.

Specified by:
whatCanGoHere in interface XSCMValidator
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: 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:

Specified by:
occurenceInfo in interface XSCMValidator
Parameters:
state - the current state
Returns:
an array containing information about the current repeating term

getTermName

public java.lang.String getTermName(int termId)
Description copied from interface: XSCMValidator
Returns the name of the term (element or wildcard) for the given identifier.

Specified by:
getTermName in interface XSCMValidator
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: XSCMValidator
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

Specified by:
isCompactedForUPA in interface XSCMValidator
Returns:
a boolean that says whether this content has been compacted for UPA

nextElementTransition

public XSElementDecl nextElementTransition(int[] s,
                                           int[] sn,
                                           int[] index)
Specified by:
nextElementTransition in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM

nextWildcardTransition

public XSWildcardDecl nextWildcardTransition(int[] s,
                                             int[] sn,
                                             int[] index)
Specified by:
nextWildcardTransition in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM

isOpenContent

public boolean isOpenContent(XSWildcardDecl w)
Specified by:
isOpenContent in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM

allowExpandedName

public boolean allowExpandedName(XSWildcardDecl wildcard,
                                 org.apache.xerces.xni.QName curElem,
                                 SubstitutionGroupHandler subGroupHandler,
                                 XSElementDeclHelper eDeclHelper)
Specified by:
allowExpandedName in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM

getDefinedNames

public java.util.List getDefinedNames(SubstitutionGroupHandler subGroupHandler)
Specified by:
getDefinedNames in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM

optimizeStates

public void optimizeStates(org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM base,
                           int[] b,
                           int[] d,
                           int indexb)
Specified by:
optimizeStates in interface org.apache.xerces.impl.xs.models.XS11CMRestriction.XS11CM

getOpenContent

public XSOpenContentDecl getOpenContent()

findMatchingElemDecl

public XSElementDecl findMatchingElemDecl(org.apache.xerces.xni.QName elementName,
                                          SubstitutionGroupHandler subGroupHandler)
Specified by:
findMatchingElemDecl in interface XSCMValidator


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