com.sun.msv.grammar.xmlschema

Class ElementDeclExp

Implemented Interfaces:
Serializable

public class ElementDeclExp
extends ReferenceExp

Element declaration.

the inherited exp field holds an expression that also matches to substituted element declarations.

The body field contains an expression that matches only to this element declaration without no substituted element decls.

Element Declaration Schema Component Properties

This table shows the mapping between "element declaration schema component properties" (which is defined in the spec) and corresponding method/field of this class.

Property of the specmethod/field of this class
name The ReferenceExp.name field.
target namespace the getTargetNamespace() method.
type definition getTypeDefinition() method.
scope To be implemented
value constraint To be implemented. Accessible through the body field.
nillable the isNillable field.
identity constraints The identityConstraints field of the ElementDeclExp.XSElementExp, which in turn can be obtained throught the body field.
substitution group affiliation The substitutionAffiliation field.
substitution group exclusion The finalValue field.
disallowed substitution The block field.
abstract the isAbstract() method.
annotation Unaccessible. This information is removed during the parsing phase.

Abstractness

The exp field and the self field are very similar. In fact, the only difference is that the former is affected by the abstract property, while the latter isn't.

So if it has to be affected by the abstract property (like referencing a complex type as the element body), you should use the exp field. If you don't want to be affected by the abstract property (like referencing a complex type as the base type of another complex type), then you should refer to the body field.

Author:
Kohsuke KAWAGUCHI
See Also:
Serialized Form

Nested Class Summary

class
ElementDeclExp.XSElementExp
XML Schema version of ElementExp.

Field Summary

static int
ALL
static int
EXTENSION
static int
RESTRICTION
static int
SUBSTITUTION
int
block
The disallowed substitution property of this schema component, implemented as a bit field.
ReferenceExp
body
The expression that represents the "body" of this expression.
int
finalValue
The substitution group exclusions property of this schema component, implemented as a bit field.
boolean
isNillable
gets the nillable property of this component as specified in the spec.
XMLSchemaSchema
parent
parent XMLSchemaSchema object to which this object belongs.
ElementDeclExp
substitutionAffiliation
The substitution group affiliation property of this component, if any.
ReferenceExp
substitutions
choices of all elements that can validly substitute this element.

Fields inherited from class com.sun.msv.grammar.ReferenceExp

exp, name

Fields inherited from class com.sun.msv.grammar.Expression

anyString, epsilon, nullSet, verifierTag

Constructor Summary

ElementDeclExp(XMLSchemaSchema schema, String typeLocalName)

Method Summary

Expression
getContentModel()
gets the pattern that represents the content model of this element declaration.
ElementDeclExp.XSElementExp
getElementExp()
String
getTargetNamespace()
gets the target namespace property of this component as specified in the spec.
XMLSchemaTypeExp
getTypeDefinition()
gets the type definition property of this schema component.
boolean
isAbstract()
checks if this element declaration is abstract.
boolean
isDefined()
boolean
isGlobal()
gets the scope property of this component as specified in the spec.
boolean
isRestrictionBlocked()
boolean
isSubstitutionBlocked()
void
setAbstract(boolean isAbstract)
void
setElementExp(ElementDeclExp.XSElementExp exp)

Methods inherited from class com.sun.msv.grammar.ReferenceExp

equals, isDefined, visit, visit, visit, visit

Methods inherited from class com.sun.msv.grammar.Expression

equals, getExpandedExp, hashCode, isEpsilonReducible, peelOccurence, visit, visit, visit, visit, visit, visit, visit, visit

Field Details

ALL

public static final int ALL
Field Value:
7

EXTENSION

public static final int EXTENSION
Field Value:
2

RESTRICTION

public static final int RESTRICTION
Field Value:
1

SUBSTITUTION

public static final int SUBSTITUTION
Field Value:
4

block

public int block
The disallowed substitution property of this schema component, implemented as a bit field.

a bit-wise OR of RESTRICTION, EXTENSION, and SUBSTITUTION.


body

public final ReferenceExp body
The expression that represents the "body" of this expression. Usually, this refers to XSElementExp, but not necessarily.

finalValue

public int finalValue
The substitution group exclusions property of this schema component, implemented as a bit field.

a bit-wise OR of RESTRICTION and EXTENSION.


isNillable

public boolean isNillable

parent

public final XMLSchemaSchema parent
parent XMLSchemaSchema object to which this object belongs.

substitutionAffiliation

public ElementDeclExp substitutionAffiliation
The substitution group affiliation property of this component, if any. Otherwise null.

substitutions

public final ReferenceExp substitutions
choices of all elements that can validly substitute this element.

Constructor Details

ElementDeclExp

public ElementDeclExp(XMLSchemaSchema schema,
                      String typeLocalName)

Method Details

getContentModel

public Expression getContentModel()
gets the pattern that represents the content model of this element declaration. This method is just a short cut for self.contentModel.

getElementExp

public ElementDeclExp.XSElementExp getElementExp()

getTargetNamespace

public final String getTargetNamespace()
gets the target namespace property of this component as specified in the spec.

If the property is absent, then this method returns the empty string.

This method is just a shortcut for parent.targetNamespace.


getTypeDefinition

public XMLSchemaTypeExp getTypeDefinition()
gets the type definition property of this schema component.

isAbstract

public boolean isAbstract()
checks if this element declaration is abstract.
Returns:
true if this method is abstract.

isDefined

public boolean isDefined()
Overrides:
isDefined in interface ReferenceExp

isGlobal

public boolean isGlobal()
Returns:
true if this component is global. false if this component is local.

isRestrictionBlocked

public boolean isRestrictionBlocked()

isSubstitutionBlocked

public boolean isSubstitutionBlocked()

setAbstract

public void setAbstract(boolean isAbstract)

setElementExp

public void setElementExp(ElementDeclExp.XSElementExp exp)