Package com.saxonica.ee.schema
Class ChoiceModelGroup
java.lang.Object
com.saxonica.ee.schema.SchemaStructure
com.saxonica.ee.schema.ModelGroup
com.saxonica.ee.schema.ChoiceModelGroup
- All Implemented Interfaces:
Term
,UserSchemaComponent
,SourceLocator
,Location
,SchemaComponent
,Locator
A ChoiceCompositor represents an xs:choice element in the schema
-
Field Summary
Fields inherited from class com.saxonica.ee.schema.ModelGroup
contentModel, simplifiedContentModel
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet the name of this compositorboolean
Determine if empty content is allowedboolean
isPointless
(ModelGroup container) Test whether the compositor is pointless, as described in XML Schema Part 1 Schema Component Constraint: Particle Valid (Restriction)void
markVulnerableSubParticles
(boolean isRepeatable) Mark contained particles as vulnerable.boolean
validate
(SchemaCompiler compiler) Checks the validity of this Compositor definition.Methods inherited from class com.saxonica.ee.schema.ModelGroup
addParticle, checkElements, compile, containsAll, containsElementWildcard, fixup, gatherAllPermittedElements, getComponentAsFunction, getContentModelSize, getElementParticleCardinality, getElementParticleType, getParticles, getSimplifiedContentModel, getTerm, isEmpty, lookForCycles, serialize, setContentModel
Methods inherited from class com.saxonica.ee.schema.SchemaStructure
elaborate, getColumnNumber, getConfiguration, getFixupStatus, getGeneratedId, getLineNumber, getPublicId, getRedefinitionLevel, getSchemaDocumentURI, getSystemId, getValidationStatus, hasSameLocation, isValidationNeeded, makeXPathExpressionPropertyRecord, saveLocation, setConfiguration, setFixupStatus, setGeneratedId, setLineNumber, setLocator, setRedefinitionLevel, setSchemaDocumentURI, setSystemId, setValidationStatus
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.sf.saxon.type.SchemaComponent
getRedefinitionLevel, getValidationStatus
Methods inherited from interface com.saxonica.ee.schema.UserSchemaComponent
elaborate
-
Constructor Details
-
ChoiceModelGroup
public ChoiceModelGroup()
-
-
Method Details
-
isEmptiable
Determine if empty content is allowed- Specified by:
isEmptiable
in classModelGroup
- Returns:
- true if empty content matches this compositor, which is true if the compositor as a whole has minOccurs=0, or if any of the choices allows empty content.
- Throws:
MissingComponentException
- if the schema contains unresolved references to required components
-
isPointless
Test whether the compositor is pointless, as described in XML Schema Part 1 Schema Component Constraint: Particle Valid (Restriction)- Overrides:
isPointless
in classModelGroup
- Parameters:
container
- not used- Returns:
- true if the particle is pointless (which effectively means it can't match anything)
-
markVulnerableSubParticles
Mark contained particles as vulnerable. A particle is marked as vulnerable if everything both before and after it in the content model is optional. This contributes to the algorithm for deciding whether counting states can be used for this particle in the finite state machine- Overrides:
markVulnerableSubParticles
in classModelGroup
- Parameters:
isRepeatable
- set to true if this part of the content model can be repeated- Throws:
MissingComponentException
-
validate
Checks the validity of this Compositor definition.- Specified by:
validate
in interfaceUserSchemaComponent
- Overrides:
validate
in classModelGroup
- Parameters:
compiler
- the schema compiler- Returns:
- true when this Schema definition is valid, otherwise false.
- Throws:
SchemaException
- when the error listener decides an error is fatal
-
getCompositorName
Get the name of this compositor- Specified by:
getCompositorName
in classModelGroup
- Returns:
- one of "sequence", "choice", or "all"
-