com.sun.xml.xsom
Interface XSElementDecl

All Superinterfaces:
XSComponent, XSDeclaration, XSTerm

public interface XSElementDecl
extends XSDeclaration, XSTerm

Element declaration.

Author:
Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)

Method Summary
 boolean canBeSubstitutedBy(XSElementDecl e)
          Returns true if this element declaration can be validly substituted by the given declaration.
 XmlString getDefaultValue()
           
 XmlString getFixedValue()
           
 java.util.List<XSIdentityConstraint> getIdentityConstraints()
          Returns all the XSIdentityConstraints in this element decl.
 XSElementDecl getSubstAffiliation()
          Gets the substitution head of this element, if any.
 java.util.Set<? extends XSElementDecl> getSubstitutables()
          Returns the element declarations that can substitute this element.
 XSType getType()
          Gets the type of this element declaration.
 boolean isAbstract()
           
 boolean isNillable()
           
 boolean isSubstitutionDisallowed(int method)
          Checks the diallowed substitution property of the schema component.
 boolean isSubstitutionExcluded(int method)
          Checks the substitution excluded property of the schema component.
 XSElementDecl[] listSubstitutables()
          Deprecated. this method allocates a new array every time, so it could be inefficient when working with a large schema. Use getSubstitutables() instead.
 
Methods inherited from interface com.sun.xml.xsom.XSDeclaration
getName, getTargetNamespace, isAnonymous, isGlobal, isLocal
 
Methods inherited from interface com.sun.xml.xsom.XSComponent
apply, getAnnotation, getAnnotation, getForeignAttribute, getForeignAttributes, getLocator, getOwnerSchema, getRoot, getSourceDocument, select, selectSingle, visit
 
Methods inherited from interface com.sun.xml.xsom.XSTerm
apply, apply, asElementDecl, asModelGroup, asModelGroupDecl, asWildcard, isElementDecl, isModelGroup, isModelGroupDecl, isWildcard, visit
 
Methods inherited from interface com.sun.xml.xsom.XSComponent
apply, getAnnotation, getAnnotation, getForeignAttribute, getForeignAttributes, getLocator, getOwnerSchema, getRoot, getSourceDocument, select, selectSingle, visit
 

Method Detail

getType

XSType getType()
Gets the type of this element declaration.

Returns:
always non-null.

isNillable

boolean isNillable()

getSubstAffiliation

XSElementDecl getSubstAffiliation()
Gets the substitution head of this element, if any. Otherwise null.


getIdentityConstraints

java.util.List<XSIdentityConstraint> getIdentityConstraints()
Returns all the XSIdentityConstraints in this element decl.

Returns:
never null, but can be empty.

isSubstitutionExcluded

boolean isSubstitutionExcluded(int method)
Checks the substitution excluded property of the schema component. IOW, this checks the value of the final attribute (plus finalDefault).

Parameters:
method - Possible values are XSType.EXTENSION or XSType.RESTRICTION.

isSubstitutionDisallowed

boolean isSubstitutionDisallowed(int method)
Checks the diallowed substitution property of the schema component. IOW, this checks the value of the block attribute (plus blockDefault).

Parameters:
method - Possible values are XSType.EXTENSION, XSType.RESTRICTION, or XSType.SUBSTITUTION

isAbstract

boolean isAbstract()

listSubstitutables

XSElementDecl[] listSubstitutables()
Deprecated. this method allocates a new array every time, so it could be inefficient when working with a large schema. Use getSubstitutables() instead.

Returns the element declarations that can substitute this element.

IOW, this set returns all the element decls that satisfies the "Substitution Group OK" constraint.

Returns:
nun-null valid array. The return value always contains this element decl itself.

getSubstitutables

java.util.Set<? extends XSElementDecl> getSubstitutables()
Returns the element declarations that can substitute this element.

IOW, this set returns all the element decls that satisfies the "Substitution Group OK" constraint.

Note that the above clause does NOT check for abstract elements. So abstract elements may still show up in the returned set.

Returns:
nun-null unmodifiable list. The returned list always contains this element decl itself.

canBeSubstitutedBy

boolean canBeSubstitutedBy(XSElementDecl e)
Returns true if this element declaration can be validly substituted by the given declaration.

Just a short cut of getSubstitutables().contain(e);


getDefaultValue

XmlString getDefaultValue()

getFixedValue

XmlString getFixedValue()