com.saxonica.schema
Class ChoiceModelGroup
java.lang.Object
com.saxonica.schema.SchemaStructure
com.saxonica.schema.ModelGroup
com.saxonica.schema.ChoiceModelGroup
- All Implemented Interfaces:
- Term, UserSchemaComponent, Serializable, SourceLocator, SchemaComponent
public class ChoiceModelGroup
- extends ModelGroup
A ChoiceCompositor represents an xs:choice element in the schema
- See Also:
- Serialized Form
Methods inherited from class com.saxonica.schema.ModelGroup |
addParticle, checkElements, compile, containsAll, containsElementWildcard, fixup, gatherAllPermittedElements, getContentModelSize, getElementParticleCardinality, getElementParticleType, getListOfParticles, getSimplifiedContentModel, getTerm, isEmpty, iterateParticles, lookForCycles, serialize, setContentModel |
Methods inherited from class com.saxonica.schema.SchemaStructure |
elaborate, getColumnNumber, getConfiguration, getFixupStatus, getLineNumber, getPublicId, getRedefinitionLevel, getSystemId, getValidationStatus, setConfiguration, setFixupStatus, setLineNumber, setLocator, setRedefinitionLevel, setSystemId, setValidationStatus |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ChoiceModelGroup
public ChoiceModelGroup()
isEmptiable
public boolean isEmptiable()
throws UnresolvedReferenceException
- Determine if empty content is allowed
- Specified by:
isEmptiable
in class ModelGroup
- 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:
UnresolvedReferenceException
isPointless
public boolean isPointless(ModelGroup container)
- Test whether the compositor is pointless, as described in XML Schema Part 1
Schema Component Constraint: Particle Valid (Restriction)
- Overrides:
isPointless
in class ModelGroup
- Parameters:
container
- not used
- Returns:
- true if the particle is pointless (which effectively means it can't match anything)
markVulnerableSubParticles
public void markVulnerableSubParticles(boolean isRepeatable)
- Mark contained particles as vulnerable. A particle is marked as vulnerable if everything both before
and after it in the content model is optional.
- Overrides:
markVulnerableSubParticles
in class ModelGroup
- Parameters:
isRepeatable
-
validate
public boolean validate(SchemaCompiler compiler)
throws SchemaException
- Checks the validity of this Compositor definition.
- Specified by:
validate
in interface UserSchemaComponent
- Overrides:
validate
in class ModelGroup
- Returns:
- true when this Schema definition is valid, otherwise false.
- Throws:
SchemaException
- when the error listener decides an error is fatal
getCompositorName
public String getCompositorName()
- Get the name of this compositor
- Specified by:
getCompositorName
in class ModelGroup
- Returns:
- one of "sequence", "choice", or "all"
Copyright (c) Saxonica Limited. All rights reserved.