org.apache.xerces.impl.xs
Class XSElementDecl

java.lang.Object
  extended by org.apache.xerces.impl.xs.XSElementDecl
All Implemented Interfaces:
XSElementDeclaration, XSObject, XSTerm

public class XSElementDecl
extends java.lang.Object
implements XSElementDeclaration

The XML representation for an element declaration schema component is an <element> element information item

Version:
$Id: XSElementDecl.java 449424 2006-09-24 16:22:30Z mrglavas $
Author:
Elena Litani, IBM, Sandy Gao, IBM

Field Summary
 XSObjectList fAnnotations
           
 short fBlock
           
 ValidatedInfo fDefault
           
 short fFinal
           
 java.lang.String fName
           
 short fScope
           
 XSElementDecl fSubGroup
           
 java.lang.String fTargetNamespace
           
 XSTypeDefinition fType
           
static short SCOPE_ABSENT
           
static short SCOPE_GLOBAL
           
static short SCOPE_LOCAL
           
 
Constructor Summary
XSElementDecl()
           
 
Method Summary
 void addIDConstraint(IdentityConstraint idc)
           
 boolean equals(java.lang.Object o)
          whether two decls are the same
 boolean getAbstract()
          {abstract} A boolean.
 java.lang.Object getActualVC()
          Value Constraint: Binding specific actual constraint value or null if the value is in error or there is no value constraint.
 short getActualVCType()
          The actual constraint value built-in datatype, e.g.
 XSAnnotation getAnnotation()
          Optional.
 XSObjectList getAnnotations()
          Optional.
 short getConstraintType()
          A value constraint: one of default, fixed.
 java.lang.String getConstraintValue()
          A value constraint: The actual value (with respect to the {type definition})
 short getDisallowedSubstitutions()
          The supplied values for {disallowed substitutions}
 XSComplexTypeDefinition getEnclosingCTDefinition()
          Locally scoped declarations are available for use only within the complex type definition identified by the scope property.
 IdentityConstraint[] getIDConstraints()
           
 XSNamedMap getIdentityConstraints()
          {identity-constraint definitions} A set of constraint definitions.
 ShortList getItemValueTypes()
          In the case the actual constraint value represents a list, i.e.
 java.lang.String getName()
          The name of this XSObject depending on the XSObject type.
 java.lang.String getNamespace()
          The namespace URI of this node, or null if it is unspecified.
 XSNamespaceItem getNamespaceItem()
          A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or null otherwise.
 boolean getNillable()
          If {nillable} is true, then an element may also be valid if it carries the namespace qualified attribute with [local name] nil from namespace http://www.w3.org/2001/XMLSchema-instance and value true (see xsi:nil (2.6.2)) even if it has no text or element content despite a {content type} which would otherwise require content.
 short getScope()
          Optional.
 XSElementDeclaration getSubstitutionGroupAffiliation()
          {substitution group affiliation} Optional.
 short getSubstitutionGroupExclusions()
          Specifies if this declaration can be nominated as the {substitution group affiliation} of other element declarations having the same {type definition} or types derived therefrom.
 short getType()
          Get the type of the object, i.e ELEMENT_DECLARATION.
 XSTypeDefinition getTypeDefinition()
          Either a simple type definition or a complex type definition.
 int hashCode()
          get the hash code
 boolean isDisallowedSubstitution(short disallowed)
          Convenience method.
 boolean isSubstitutionGroupExclusion(short exclusion)
          Convenience method.
 void reset()
          Reset current element declaration
 void setConstraintType(short constraintType)
           
 void setIsAbstract()
           
 void setIsGlobal()
           
 void setIsLocal(XSComplexTypeDecl enclosingCT)
           
 void setIsNillable()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

SCOPE_ABSENT

public static final short SCOPE_ABSENT
See Also:
Constant Field Values

SCOPE_GLOBAL

public static final short SCOPE_GLOBAL
See Also:
Constant Field Values

SCOPE_LOCAL

public static final short SCOPE_LOCAL
See Also:
Constant Field Values

fName

public java.lang.String fName

fTargetNamespace

public java.lang.String fTargetNamespace

fType

public XSTypeDefinition fType

fScope

public short fScope

fBlock

public short fBlock

fFinal

public short fFinal

fAnnotations

public XSObjectList fAnnotations

fDefault

public ValidatedInfo fDefault

fSubGroup

public XSElementDecl fSubGroup
Constructor Detail

XSElementDecl

public XSElementDecl()
Method Detail

setConstraintType

public void setConstraintType(short constraintType)

setIsNillable

public void setIsNillable()

setIsAbstract

public void setIsAbstract()

setIsGlobal

public void setIsGlobal()

setIsLocal

public void setIsLocal(XSComplexTypeDecl enclosingCT)

addIDConstraint

public void addIDConstraint(IdentityConstraint idc)

getIDConstraints

public IdentityConstraint[] getIDConstraints()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

hashCode

public int hashCode()
get the hash code

Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)
whether two decls are the same

Overrides:
equals in class java.lang.Object

reset

public void reset()
Reset current element declaration


getType

public short getType()
Get the type of the object, i.e ELEMENT_DECLARATION.

Specified by:
getType in interface XSObject

getName

public java.lang.String getName()
The name of this XSObject depending on the XSObject type.

Specified by:
getName in interface XSObject

getNamespace

public java.lang.String getNamespace()
The namespace URI of this node, or null if it is unspecified. defines how a namespace URI is attached to schema components.

Specified by:
getNamespace in interface XSObject

getTypeDefinition

public XSTypeDefinition getTypeDefinition()
Either a simple type definition or a complex type definition.

Specified by:
getTypeDefinition in interface XSElementDeclaration

getScope

public short getScope()
Optional. Either global or a complex type definition ( ctDefinition). This property is absent in the case of declarations within named model groups: their scope will be determined when they are used in the construction of complex type definitions.

Specified by:
getScope in interface XSElementDeclaration

getEnclosingCTDefinition

public XSComplexTypeDefinition getEnclosingCTDefinition()
Locally scoped declarations are available for use only within the complex type definition identified by the scope property.

Specified by:
getEnclosingCTDefinition in interface XSElementDeclaration

getConstraintType

public short getConstraintType()
A value constraint: one of default, fixed.

Specified by:
getConstraintType in interface XSElementDeclaration

getConstraintValue

public java.lang.String getConstraintValue()
A value constraint: The actual value (with respect to the {type definition})

Specified by:
getConstraintValue in interface XSElementDeclaration

getNillable

public boolean getNillable()
If {nillable} is true, then an element may also be valid if it carries the namespace qualified attribute with [local name] nil from namespace http://www.w3.org/2001/XMLSchema-instance and value true (see xsi:nil (2.6.2)) even if it has no text or element content despite a {content type} which would otherwise require content.

Specified by:
getNillable in interface XSElementDeclaration

getIdentityConstraints

public XSNamedMap getIdentityConstraints()
{identity-constraint definitions} A set of constraint definitions.

Specified by:
getIdentityConstraints in interface XSElementDeclaration

getSubstitutionGroupAffiliation

public XSElementDeclaration getSubstitutionGroupAffiliation()
{substitution group affiliation} Optional. A top-level element definition.

Specified by:
getSubstitutionGroupAffiliation in interface XSElementDeclaration

isSubstitutionGroupExclusion

public boolean isSubstitutionGroupExclusion(short exclusion)
Convenience method. Check if exclusion is a substitution group exclusion for this element declaration.

Specified by:
isSubstitutionGroupExclusion in interface XSElementDeclaration
Parameters:
exclusion - Extension, restriction or none. Represents final set for the element.
Returns:
True if exclusion is a part of the substitution group exclusion subset.

getSubstitutionGroupExclusions

public short getSubstitutionGroupExclusions()
Specifies if this declaration can be nominated as the {substitution group affiliation} of other element declarations having the same {type definition} or types derived therefrom.

Specified by:
getSubstitutionGroupExclusions in interface XSElementDeclaration
Returns:
A bit flag representing {extension, restriction} or NONE.

isDisallowedSubstitution

public boolean isDisallowedSubstitution(short disallowed)
Convenience method. Check if disallowed is a disallowed substitution for this element declaration.

Specified by:
isDisallowedSubstitution in interface XSElementDeclaration
Parameters:
disallowed - Substitution, extension, restriction or none. Represents a block set for the element.
Returns:
True if disallowed is a part of the substitution group exclusion subset.

getDisallowedSubstitutions

public short getDisallowedSubstitutions()
The supplied values for {disallowed substitutions}

Specified by:
getDisallowedSubstitutions in interface XSElementDeclaration
Returns:
A bit flag representing {substitution, extension, restriction} or NONE.

getAbstract

public boolean getAbstract()
{abstract} A boolean.

Specified by:
getAbstract in interface XSElementDeclaration

getAnnotation

public XSAnnotation getAnnotation()
Optional. Annotation.

Specified by:
getAnnotation in interface XSElementDeclaration

getAnnotations

public XSObjectList getAnnotations()
Optional. Annotations.

Specified by:
getAnnotations in interface XSElementDeclaration

getNamespaceItem

public XSNamespaceItem getNamespaceItem()
Description copied from interface: XSObject
A namespace schema information item corresponding to the target namespace of the component, if it is globally declared; or null otherwise.

Specified by:
getNamespaceItem in interface XSObject
See Also:
XSObject.getNamespaceItem()

getActualVC

public java.lang.Object getActualVC()
Description copied from interface: XSElementDeclaration
Value Constraint: Binding specific actual constraint value or null if the value is in error or there is no value constraint.

Specified by:
getActualVC in interface XSElementDeclaration

getActualVCType

public short getActualVCType()
Description copied from interface: XSElementDeclaration
The actual constraint value built-in datatype, e.g. STRING_DT, SHORT_DT. If the type definition of this value is a list type definition, this method returns LIST_DT. If the type definition of this value is a list type definition whose item type is a union type definition, this method returns LISTOFUNION_DT. To query the actual constraint value of the list or list of union type definitions use itemValueTypes. If the actualNormalizedValue is null, this method returns UNAVAILABLE_DT .

Specified by:
getActualVCType in interface XSElementDeclaration

getItemValueTypes

public ShortList getItemValueTypes()
Description copied from interface: XSElementDeclaration
In the case the actual constraint value represents a list, i.e. the actualValueType is LIST_DT, the returned array consists of one type kind which represents the itemType. If the actual constraint value represents a list type definition whose item type is a union type definition, i.e. LISTOFUNION_DT, for each actual constraint value in the list the array contains the corresponding memberType kind. For examples, see ItemPSVI.itemValueTypes.

Specified by:
getItemValueTypes in interface XSElementDeclaration