public class ElementParticle extends Particle
nameCode, symbolSpace, target
COMPONENT_FUNCTION_TYPE, FIXED_UP, INCOMPLETE, INVALID, UNVALIDATED, VALIDATED, VALIDATING
Constructor and Description |
---|
ElementParticle(EnterpriseConfiguration config,
SourceLocator locator)
Creates a new element particle
|
Modifier and Type | Method and Description |
---|---|
void |
compile(SchemaCompiler compiler)
Compile this local element declaration, considered as a particle of some complex type,
by compiling its own complex type definition.
|
boolean |
containsElementWildcard()
Ask whether the particle contains an element wildcard
|
ElementParticle |
copy()
Copy an element particle
|
boolean |
fixup(SchemaCompiler compiler)
Check references from this component to other components
|
void |
gatherAllPermittedElements(IntHashSet result,
boolean ignoreWildcards)
Find the set of all element particles allowed within the content model of this particle, identified
by their integer fingerprints.
|
ElementDecl |
getDeclaration()
Returns the ElementDecl that this element definition references.
|
String |
getDisplayName()
Returns the display name of this Element particle.
|
int |
getElementParticleCardinality(int fingerprint)
Find an element particle within this complex type definition having a given element name
(identified by fingerprint), and return the cardinality associated with that element particle,
that is, the number of times the element can occur within this complex type.
|
SchemaType |
getElementParticleType(int fingerprint)
Find an element particle within this complex type definition having a given element name
(identified by fingerprint), and return the schema type associated with that element particle.
|
String |
getName()
Returns the local name of this Element particle.
|
String |
getNamespaceURI()
Get the namespace URI of this element particle
|
Term |
getTerm()
Get the term corresponding to this particle
|
boolean |
isEmptiable()
Determine if this particle can be empty
|
boolean |
isPointless(ModelGroup container)
Test whether the particle is pointless, as described in XML Schema Part 1
Schema Component Constraint: Particle Valid (Restriction)
|
void |
lookForCycles(Stack references,
SchemaCompiler compiler)
This method is called to look for cycles.
|
void |
serializeParticle(SchemaModelSerializer serializer)
Serialize the particle
|
void |
setReference(ElementDecl declaration)
Set the reference to a specific (typically non-global) element declaration
|
String |
toString() |
boolean |
validate(SchemaCompiler compiler)
Check the validity (consistency) of this element definition.
|
computeParticleCardinality, getComponentAsFunction, getMaxOccurs, getMinOccurs, isVulnerable, markVulnerableSubParticles, setMaxOccurs, setMinOccurs, setVulnerable
getFingerprint, getNameCode, getSymbolSpace, getTarget, isResolved, setNameCode, setTarget, tryToResolve
elaborate, getColumnNumber, getConfiguration, getFixupStatus, getLineNumber, getPublicId, getRedefinitionLevel, getSchemaDocumentURI, getSystemId, getValidationStatus, makeXPathExpressionPropertyRecord, setConfiguration, setFixupStatus, setLineNumber, setLocator, setRedefinitionLevel, setSchemaDocumentURI, setSystemId, setValidationStatus
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
elaborate
getRedefinitionLevel, getValidationStatus
getConfiguration
getColumnNumber, getLineNumber, getPublicId, getSystemId
public ElementParticle(EnterpriseConfiguration config, SourceLocator locator)
config
- the Configuration to which this element declaration
belongslocator
- identifies the location of the element declaration in the
source schema documentpublic ElementParticle copy()
public String getDisplayName()
public String getNamespaceURI()
public String getName()
public ElementDecl getDeclaration() throws UnresolvedReferenceException
UnresolvedReferenceException
- if the reference from the element
particle to the corresponding element declaration has not been resolvedpublic void setReference(ElementDecl declaration)
declaration
- the element declaration to which this particle refers.public boolean isEmptiable()
isEmptiable
in class Particle
public boolean isPointless(ModelGroup container)
isPointless
in class Particle
container
- the model group containing this particle; null if there is no containing model grouppublic void lookForCycles(Stack references, SchemaCompiler compiler) throws SchemaException, UnresolvedReferenceException
SchemaStructure
lookForCycles
in interface UserSchemaComponent
lookForCycles
in class SchemaStructure
references
- A stack of objects that contain direct or indirect references
to this object, and that must therefore not be referred to from this object.compiler
- the schema compilerSchemaException
UnresolvedReferenceException
public boolean fixup(SchemaCompiler compiler) throws SchemaException, UnresolvedReferenceException
fixup
in interface UserSchemaComponent
fixup
in class Particle
compiler
- is used for reporting errorsSchemaException
UnresolvedReferenceException
public boolean validate(SchemaCompiler compiler) throws SchemaException
validate
in interface UserSchemaComponent
validate
in class Particle
compiler
- the schema compilerSchemaException
- if an error is found and the
error listener decides that the error is fatalpublic void compile(SchemaCompiler compiler) throws SchemaException
compile
in class Particle
compiler
- the schema compilerSchemaException
- if compilation fails.public Term getTerm()
public SchemaType getElementParticleType(int fingerprint)
getElementParticleType
in class Particle
fingerprint
- Identifies the name of the child element within this content modelpublic int getElementParticleCardinality(int fingerprint)
StaticProperty.EXACTLY_ONE
, StaticProperty.ALLOWS_ZERO_OR_ONE
,
StaticProperty.ALLOWS_ZERO_OR_MORE
, StaticProperty.ALLOWS_ONE_OR_MORE
,
If there is no such particle, return StaticProperty.EMPTY
.getElementParticleCardinality
in class Particle
fingerprint
- Identifies the name of the child element within this content modelpublic boolean containsElementWildcard()
containsElementWildcard
in class Particle
public void gatherAllPermittedElements(IntHashSet result, boolean ignoreWildcards) throws SchemaException
gatherAllPermittedElements
in class Particle
result
- an initially-empty integer set in which the results are accumulatedignoreWildcards
- if true, wildcards are ignored. If false, the result will be
an integer set containing the value -1, meaning that it is not possible to enumerate
the elements that can appear in the content.SchemaException
- if an error is found in the schemapublic void serializeParticle(SchemaModelSerializer serializer) throws XPathException
serializeParticle
in class Particle
serializer
- the object responsible for serializationXPathException
- if serialization failsCopyright (c) 2004-2014 Saxonica Limited. All rights reserved.