org.apache.xmlbeans
Interface SchemaParticle


public interface SchemaParticle

Represents a Schema particle definition.

The content model of a complex type is a tree of particles. Each particle is either an ALL, CHOICE, SEQUENCE, ELEMENT, or WILDCARD. All, choice and sequence particles are groups that can have child particles; elements and wildcards are always leaves of the particle tree.

The tree of particles available on a schema type is minimized, that is, it already has removed "pointless" particles such as empty sequences, nonrepeating sequences with only one item, and so on. (Pointless particles are defined precisely in the XML Schema specification.)

See Also:
SchemaType.getContentModel()

Field Summary
static int ALL
          An xs:all group.
static int CHOICE
          A xs:choice group.
static int ELEMENT
          An xs:element particle.
static int LAX
          Lax wildcard processing.
static int SEQUENCE
          A xs:sequence group.
static int SKIP
          Skip wildcard processing.
static int STRICT
          Strict wildcard processing.
static int WILDCARD
          An xs:any particle, also known as an element wildcard.
 
Method Summary
 QNameSet acceptedStartNames()
          Returns the QNameSet of element names that can be accepted at the beginning of this particle.
 boolean canStartWithElement(QName name)
          True if this particle can start with the given element (taking into account the structure of all child particles of course).
 int countOfParticleChild()
          The number of children.
 String getDefaultText()
          For elements only: returns the default (or fixed) text value
 XmlAnySimpleType getDefaultValue()
          For elements only: returns the default (or fixed) strongly-typed value
 int getIntMaxOccurs()
          Returns the maxOccurs value, pegged to a 32-bit int for convenience of a validating state machine that doesn't count higher than MAX_INT anyway.
 int getIntMinOccurs()
          Returns the minOccurs value, pegged to a 32-bit int for convenience of a validating state machine that doesn't count higher than MAX_INT anyway.
 BigInteger getMaxOccurs()
          Returns the maxOccurs value for this particle, or null if it is unbounded.
 BigInteger getMinOccurs()
          Returns the minOccurs value for this particle.
 QName getName()
          For elements only: the QName for the element use.
 SchemaParticle getParticleChild(int i)
          Another way to access the particle children.
 SchemaParticle[] getParticleChildren()
          Applies to sequence, choice, and all particles only: returns an array of all the particle children in order.
 int getParticleType()
          Returns the particle type (ALL, CHOICE, SEQUENCE, ELEMENT, or WILDCARD).
 SchemaType getType()
          For elements only: returns the type of the element.
 int getWildcardProcess()
          For wildcards, returns the processing code (STRICT, LAX, SKIP).
 QNameSet getWildcardSet()
          For wildcards, returns a QNameSet representing the wildcard.
 boolean isDefault()
          For elements only: True if has default.
 boolean isFixed()
          For elements only: true if is fixed value.
 boolean isNillable()
          For elements only: true if nillable.
 boolean isSingleton()
          One if minOccurs == maxOccurs == 1.
 boolean isSkippable()
          True if this particle can be skipped (taking into account both the minOcurs as well as the structure of all the child particles)
 

Field Detail

ALL

static final int ALL
An xs:all group. See getParticleType().

See Also:
Constant Field Values

CHOICE

static final int CHOICE
A xs:choice group. See getParticleType().

See Also:
Constant Field Values

SEQUENCE

static final int SEQUENCE
A xs:sequence group. See getParticleType().

See Also:
Constant Field Values

ELEMENT

static final int ELEMENT
An xs:element particle. This code means the particle can be coerced to SchemaLocalElement. See getParticleType().

See Also:
Constant Field Values

WILDCARD

static final int WILDCARD
An xs:any particle, also known as an element wildcard. See getParticleType().

See Also:
Constant Field Values

STRICT

static final int STRICT
Strict wildcard processing. See getWildcardProcess()

See Also:
Constant Field Values

LAX

static final int LAX
Lax wildcard processing. See getWildcardProcess()

See Also:
Constant Field Values

SKIP

static final int SKIP
Skip wildcard processing. See getWildcardProcess()

See Also:
Constant Field Values
Method Detail

getParticleType

int getParticleType()
Returns the particle type (ALL, CHOICE, SEQUENCE, ELEMENT, or WILDCARD).


getMinOccurs

BigInteger getMinOccurs()
Returns the minOccurs value for this particle. If it's not specified explicitly, this returns BigInteger.ONE.


getMaxOccurs

BigInteger getMaxOccurs()
Returns the maxOccurs value for this particle, or null if it is unbounded. If it's not specified explicitly, this returns BigInteger.ONE.


getIntMinOccurs

int getIntMinOccurs()
Returns the minOccurs value, pegged to a 32-bit int for convenience of a validating state machine that doesn't count higher than MAX_INT anyway.


getIntMaxOccurs

int getIntMaxOccurs()
Returns the maxOccurs value, pegged to a 32-bit int for convenience of a validating state machine that doesn't count higher than MAX_INT anyway. Unbounded is given as MAX_INT.


isSingleton

boolean isSingleton()
One if minOccurs == maxOccurs == 1.


getParticleChildren

SchemaParticle[] getParticleChildren()
Applies to sequence, choice, and all particles only: returns an array of all the particle children in order.


getParticleChild

SchemaParticle getParticleChild(int i)
Another way to access the particle children.


countOfParticleChild

int countOfParticleChild()
The number of children.


canStartWithElement

boolean canStartWithElement(QName name)
True if this particle can start with the given element (taking into account the structure of all child particles of course).


acceptedStartNames

QNameSet acceptedStartNames()
Returns the QNameSet of element names that can be accepted at the beginning of this particle.


isSkippable

boolean isSkippable()
True if this particle can be skipped (taking into account both the minOcurs as well as the structure of all the child particles)


getWildcardSet

QNameSet getWildcardSet()
For wildcards, returns a QNameSet representing the wildcard.


getWildcardProcess

int getWildcardProcess()
For wildcards, returns the processing code (STRICT, LAX, SKIP).


getName

QName getName()
For elements only: the QName for the element use. May be unqualified version of referenced element's name.


getType

SchemaType getType()
For elements only: returns the type of the element.


isNillable

boolean isNillable()
For elements only: true if nillable.


getDefaultText

String getDefaultText()
For elements only: returns the default (or fixed) text value


getDefaultValue

XmlAnySimpleType getDefaultValue()
For elements only: returns the default (or fixed) strongly-typed value


isDefault

boolean isDefault()
For elements only: True if has default. If isFixed, then isDefault is always true.


isFixed

boolean isFixed()
For elements only: true if is fixed value.