|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.saxonica.schema.SchemaStructure
com.saxonica.schema.SimpleComponentReference
com.saxonica.schema.ElementParticle
A reference to an element declaration within the content model of a complex type. This corresponds to an <xs:element ref="x"> element in the XML representation of a schema. Where a local element declaration appears in a content model, using the form <xs:element name="x">, both an element declaration and an element particle are created.
Field Summary |
Fields inherited from class com.saxonica.schema.SimpleComponentReference |
nameCode, symbolSpace, target |
Fields inherited from interface net.sf.saxon.type.SchemaComponent |
FIXED_UP, INCOMPLETE, INVALID, UNVALIDATED, VALIDATED, VALIDATING |
Constructor Summary | |
ElementParticle(PreparedSchema schema,
javax.xml.transform.SourceLocator locator)
Creates a new element particle |
Method Summary | |
void |
compile(PreparedSchema schema,
UserComplexType subjectType)
Compile this local element declaration, considered as a particle of some complex type, by compiling its own complex type definition. |
static int |
computeParticleCardinality(int minOccurs,
int maxOccurs)
Compute an XPath cardinality (e.g. |
boolean |
fixup(PreparedSchema schema)
Check references from this component to other components |
ElementDecl |
getDeclaration()
Returns the ElementDecl that this element definition references. |
java.lang.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. |
int |
getMaxOccurs()
Returns the maximum number of occurrences that this Particle may appear in the containing content model |
int |
getMinOccurs()
Returns the minimum number of occurrences that this Particle must appear in the containing content model |
java.lang.String |
getName()
Returns the local name of this Element particle. |
java.lang.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 |
void |
rewrite()
Rewrite a particle prior to compiling it |
void |
setMaxOccurs(int maxOccurs)
Sets the maximum number of occurrences for this Particle within the containing content model |
void |
setMinOccurs(int minOccurs)
Sets the minimum number of occurrences for this Particle within the containing content model |
void |
setReference(ElementDecl declaration)
Set the reference to a specific (typically non-global) element declaration |
java.lang.String |
toString()
|
boolean |
validate(PreparedSchema schema)
Check the validity (consistency) of this element definition. |
Methods inherited from class com.saxonica.schema.SimpleComponentReference |
getFingerprint, getNameCode, getSymbolSpace, getTarget, isResolved, setNameCode, setTarget, tryToResolve |
Methods inherited from class com.saxonica.schema.SchemaStructure |
getColumnNumber, getFixupStatus, getLineNumber, getPublicId, getSchema, getSystemId, getValidationStatus, lookForCycles, setFixupStatus, setLineNumber, setLocator, setSchema, setSystemId, setValidationStatus |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.saxonica.schema.UserSchemaComponent |
lookForCycles |
Methods inherited from interface net.sf.saxon.type.SchemaComponent |
getValidationStatus |
Methods inherited from interface com.saxonica.schema.ComponentReference |
getSchema |
Methods inherited from interface javax.xml.transform.SourceLocator |
getColumnNumber, getLineNumber, getPublicId, getSystemId |
Constructor Detail |
public ElementParticle(PreparedSchema schema, javax.xml.transform.SourceLocator locator)
schema
- the XML Schema to which this element declaration
belongslocator
- identifies the location of the element declaration in the
source schemaMethod Detail |
public java.lang.String getDisplayName()
public java.lang.String getNamespaceURI()
public java.lang.String getName()
public ElementDecl getDeclaration() throws UnresolvedReferenceException
UnresolvedReferenceException
public void setReference(ElementDecl declaration)
public boolean isEmptiable()
isEmptiable
in interface Particle
public boolean fixup(PreparedSchema schema) throws SchemaException, UnresolvedReferenceException
fixup
in interface UserSchemaComponent
schema
- The schema is used for reporting errors
SchemaException
UnresolvedReferenceException
public boolean validate(PreparedSchema schema) throws SchemaException, ValidationException
validate
in interface UserSchemaComponent
schema
- the containing schema - used for reporting errors. Any
errors will be reported to the error listener.
SchemaException
- if an error is found and the
error listener decides that the error is fatal
ValidationException
public void rewrite()
rewrite
in interface Particle
public void compile(PreparedSchema schema, UserComplexType subjectType) throws SchemaException, ValidationException
compile
in interface Particle
schema
- The containing schema (used to generate error messages)subjectType
- The containing complex type (used so that this can be registered with any
elements appearing as particles in the content model, so that the complex type can be recompiled
if the substitution group membership of the element declaration subsequently changes)
SchemaException
- if compilation fails.
ValidationException
public final int getMaxOccurs()
getMaxOccurs
in interface Particle
public final int getMinOccurs()
getMinOccurs
in interface Particle
public final void setMaxOccurs(int maxOccurs)
maxOccurs
- the maximum number of occurrences for this Particle, or -1 to indicate
that the maximum is unboundedpublic final void setMinOccurs(int minOccurs)
setMinOccurs
in interface Particle
minOccurs
- the minimum number of occurrences for this Particlepublic Term getTerm()
getTerm
in interface Particle
public SchemaType getElementParticleType(int fingerprint)
getElementParticleType
in interface Particle
fingerprint
- Identifies the name of the child element within this content modelpublic int getElementParticleCardinality(int fingerprint) throws SchemaException, ValidationException
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 zero.
getElementParticleCardinality
in interface Particle
fingerprint
- Identifies the name of the child element within this content model
SchemaException
ValidationException
public static int computeParticleCardinality(int minOccurs, int maxOccurs)
minOccurs
- Minimum occurrencesmaxOccurs
- Maximum occurrences (-1 = unbounded)
public java.lang.String toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |