Class ElementDeclExp
- All Implemented Interfaces:
Serializable
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 spec | method/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:
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
int
The disallowed substitution property of this schema component, implemented as a bit field.final ReferenceExp
The expression that represents the "body" of this expression.static final int
int
The substitution group exclusions property of this schema component, implemented as a bit field.boolean
gets the nillable property of this component as specified in the spec.final XMLSchemaSchema
parent XMLSchemaSchema object to which this object belongs.static final int
static final int
The substitution group affiliation property of this component, if any.final ReferenceExp
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongets the pattern that represents the content model of this element declaration.final String
gets the target namespace property of this component as specified in the spec.gets the type definition property of this schema component.boolean
checks if this element declaration is abstract.boolean
checks if this ReferenceExp is properly defined.boolean
isGlobal()
gets the scope property of this component as specified in the spec.boolean
boolean
void
setAbstract
(boolean isAbstract) void
Methods inherited from class com.sun.msv.grammar.ReferenceExp
calcEpsilonReducibility, calcHashCode, equals, visit, visit, visit, visit
Methods inherited from class com.sun.msv.grammar.Expression
getExpandedExp, hashCode, hashCode, hashCode, isEpsilonReducible, peelOccurence, readResolve, visit, visit, visit, visit
-
Field Details
-
substitutionAffiliation
The substitution group affiliation property of this component, if any. Otherwise null. -
body
The expression that represents the "body" of this expression. Usually, this refers to XSElementExp, but not necessarily. -
substitutions
choices of all elements that can validly substitute this element. -
parent
parent XMLSchemaSchema object to which this object belongs. -
isNillable
public boolean isNillablegets the nillable property of this component as specified in the spec. -
RESTRICTION
public static final int RESTRICTION- See Also:
-
EXTENSION
public static final int EXTENSION- See Also:
-
SUBSTITUTION
public static final int SUBSTITUTION- See Also:
-
ALL
public static final int ALL- See Also:
-
finalValue
public int finalValueThe substitution group exclusions property of this schema component, implemented as a bit field.a bit-wise OR of RESTRICTION and EXTENSION.
-
block
public int blockThe disallowed substitution property of this schema component, implemented as a bit field.a bit-wise OR of RESTRICTION, EXTENSION, and SUBSTITUTION.
-
-
Constructor Details
-
ElementDeclExp
-
-
Method Details
-
setElementExp
-
getElementExp
-
getContentModel
gets the pattern that represents the content model of this element declaration. This method is just a short cut forself.contentModel
. -
isGlobal
public boolean isGlobal()gets the scope property of this component as specified in the spec.- Returns:
- true if this component is global. false if this component is local.
-
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
. -
isAbstract
public boolean isAbstract()checks if this element declaration is abstract.- Returns:
- true if this method is abstract.
-
setAbstract
public void setAbstract(boolean isAbstract) -
isSubstitutionBlocked
public boolean isSubstitutionBlocked() -
isRestrictionBlocked
public boolean isRestrictionBlocked() -
getTypeDefinition
gets the type definition property of this schema component. -
isDefined
public boolean isDefined()Description copied from class:ReferenceExp
checks if this ReferenceExp is properly defined. this method is used to detect undeclared definitions. Derived classes can override this method.- Overrides:
isDefined
in classReferenceExp
-