Package com.saxonica.ee.schema
Class ModelGroupDefinition
java.lang.Object
com.saxonica.ee.schema.SchemaStructure
com.saxonica.ee.schema.ModelGroup
com.saxonica.ee.schema.ModelGroupDefinition
- All Implemented Interfaces:
SerializableSchemaComponent,Term,UserSchemaComponent,SourceLocator,Location,SchemaComponent,Locator
A Model Group Definition: a schema component corresponding to a top-level (named) xs:group
element in a schema document.
-
Field Summary
Fields inherited from class com.saxonica.ee.schema.ModelGroup
contentModel, simplifiedContentModel -
Constructor Summary
ConstructorsConstructorDescriptionModelGroupDefinition(EnterpriseConfiguration config, SourceLocator locator) Creates a new Model Group definition -
Method Summary
Modifier and TypeMethodDescriptionGet the schema component in the form of a function item.Get the name of the compositor used in this model groupgetName()Returns the local part of the name of this named Group.Returns the namespace URI of the name of this named Group.booleanDetermine if empty content is allowedbooleanisPointless(ModelGroup container) Test whether the compositor is pointless, as described in XML Schema Part 1 Schema Component Constraint: Particle Valid (Restriction)booleanisSameGroup(ModelGroupDefinition other) Test whether this is the same group as another group.voidlookForCycles(Stack<SchemaComponent> references, SchemaCompiler compiler) This method is called to look for cycles.voidserialize(SchemaModelSerializer serializer) Serialize the schema componentvoidsetModelGroupName(StructuredQName nameCode) voidSet the model group definition that this one redefines.booleanvalidate(SchemaCompiler compiler) Checks the validity of this Model Group Definition.Methods inherited from class com.saxonica.ee.schema.ModelGroup
addParticle, checkElements, compile, containsAll, containsElementWildcard, fixup, gatherAllPermittedElements, getContentModelSize, getElementParticleCardinality, getElementParticleType, getParticles, getSimplifiedContentModel, getTerm, isEmpty, markVulnerableSubParticles, setContentModelMethods 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, setValidationStatusMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.sf.saxon.type.SchemaComponent
getRedefinitionLevel, getValidationStatusMethods inherited from interface com.saxonica.ee.schema.UserSchemaComponent
elaborate
-
Constructor Details
-
ModelGroupDefinition
Creates a new Model Group definition- Parameters:
config- the Configuration to which this Model Group definition belongslocator- the source location of the model group definition
-
-
Method Details
-
setRedefinedModelGroupDefinition
Set the model group definition that this one redefines. Only set if this is a redefining model group that does not contain a self-reference; in this case validate() must check that it is a valid refinement- Parameters:
other- the model group that this one redefines
-
setModelGroupName
-
getModelGroupName
-
getName
Returns the local part of the name of this named Group.- Returns:
- the local name of this named Group.
-
getTargetNamespace
Returns the namespace URI of the name of this named Group.- Returns:
- the namespace URI of this named Group: null if the group is in no namespace
-
isEmptiable
Determine if empty content is allowed- Specified by:
isEmptiablein classModelGroup- Returns:
- true if the content model of the model group 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:
isPointlessin classModelGroup- Parameters:
container- the particle that contains this model group definition- Returns:
- true if this compositor is pointless
-
lookForCycles
public void lookForCycles(Stack<SchemaComponent> references, SchemaCompiler compiler) throws SchemaException This method is called to look for cycles. The object implementing this method is required (a) to raise an exception if the object itself appears in the list of references, (b) to add itself to the list of references, and (c) to call the lookForCycles method on all the objects that it references.- Specified by:
lookForCyclesin interfaceUserSchemaComponent- Overrides:
lookForCyclesin classModelGroup- Parameters:
references- A list of objects that contain direct or indirect references to this object, and that must therefore not be referred to from this object.compiler- used for error reporting- Throws:
SchemaException- if cycles are found
-
validate
Checks the validity of this Model Group Definition.- Specified by:
validatein interfaceUserSchemaComponent- Overrides:
validatein classModelGroup- Parameters:
compiler- the schema compiler- Returns:
- true when this Schema definition is valid, otherwise false.
- Throws:
SchemaException- if the declaration is invalid
-
isSameGroup
Test whether this is the same group as another group. They are considered to be the same type if they are derived from the same type definition in the original XML representation (which can happen when there are multiple includes of the same file)- Parameters:
other- the other group- Returns:
- true if the groups are the same
-
serialize
Serialize the schema component- Specified by:
serializein interfaceSerializableSchemaComponent- Overrides:
serializein classModelGroup- Parameters:
serializer- used to receive the serialized output- Throws:
XPathException- if serialization fails
-
getCompositorName
Description copied from class:ModelGroupGet the name of the compositor used in this model group- Specified by:
getCompositorNamein classModelGroup- Returns:
- one of "sequence", "choice", or "all"
-
getComponentAsFunction
Description copied from interface:SchemaComponentGet the schema component in the form of a function item. This allows schema information to be made visible to XSLT or XQuery code. The function makes available the contents of the schema component as defined in the XSD specification. The function takes a string as argument representing a property name, and returns the corresponding property of the schema component. There is also a property "class" which returns the kind of schema component, for example "Attribute Declaration".- Specified by:
getComponentAsFunctionin interfaceSchemaComponent- Overrides:
getComponentAsFunctionin classModelGroup- Returns:
- the schema component represented as a function from property names to property values.
-