SchemaParticle Interface

com.bea.xml
SchemaParticle Interface

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 SchemaParticle.ALL, SchemaParticle.CHOICE, SchemaParticle.SEQUENCE, SchemaParticle.ELEMENT, or SchemaParticle.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.)

Related Topics

SchemaType.getContentModel()

Field Summary

public static final int
ALL
An xs:all group.
public static final int
CHOICE
A xs:choice group.
public static final int
ELEMENT
An xs:element particle.
public static final int
LAX
Lax wildcard processing.
public static final int
SEQUENCE
A xs:sequence group.
public static final int
SKIP
Skip wildcard processing.
public static final int
STRICT
Strict wildcard processing.
public static final int
WILDCARD
An xs:any particle, also known as an element wildcard.
 

Method Summary

public QNameSet
acceptedStartNames()
Returns the QNameSet of element names that can be accepted at the beginning of this particle.
public 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).
public int
countOfParticleChild()
The number of children.
public String
getDefaultText()
For elements only: returns the default (or fixed) text value
public XmlAnySimpleType
getDefaultValue()
For elements only: returns the default (or fixed) strongly-typed value
public 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.
public 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.
public BigInteger
getMaxOccurs()
Returns the maxOccurs value for this particle, or null if it is unbounded.
public BigInteger
getMinOccurs()
Returns the minOccurs value for this particle.
public QName
getName()
For elements only: the QName for the element use.
public SchemaParticle
getParticleChild(int i)
Another way to access the particle children.
public SchemaParticle[]
getParticleChildren()
Applies to sequence, choice, and all particles only: returns an array of all the particle children in order.
public int
getParticleType()
Returns the particle type (SchemaParticle.ALL, SchemaParticle.CHOICE, SchemaParticle.SEQUENCE, SchemaParticle.ELEMENT, or SchemaParticle.WILDCARD).
public SchemaType
getType()
For elements only: returns the type of the element.
public int
getWildcardProcess()
For wildcards, returns the processing code (SchemaParticle.STRICT, SchemaParticle.LAX, SchemaParticle.SKIP).
public QNameSet
getWildcardSet()
For wildcards, returns a QNameSet representing the wildcard.
public boolean
isDefault()
For elements only: True if has default.
public boolean
isFixed()
For elements only: true if is fixed value.
public boolean
isNillable()
For elements only: true if nillable.
public boolean
isSingleton()
One if minOccurs == maxOccurs == 1.
public 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

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


CHOICE

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


ELEMENT

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


LAX

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


SEQUENCE

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


SKIP

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


STRICT

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


WILDCARD

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

 

Method Detail

acceptedStartNames() Method

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


canStartWithElement(QName) Method

public 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).


countOfParticleChild() Method

public int countOfParticleChild()
The number of children.


getDefaultText() Method

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


getDefaultValue() Method

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


getIntMaxOccurs() Method

public 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.


getIntMinOccurs() Method

public 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.


getMaxOccurs() Method

public 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.


getMinOccurs() Method

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


getName() Method

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


getParticleChild(int) Method

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


getParticleChildren() Method

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


getParticleType() Method

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


getType() Method

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


getWildcardProcess() Method

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


getWildcardSet() Method

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


isDefault() Method

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


isFixed() Method

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


isNillable() Method

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


isSingleton() Method

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


isSkippable() Method

public 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)