xsd.ElementDeclaration objects provide for local validation of xml.ElementInformationItem values using a type definition; Specifying default or fixed values for xml.ElementInformationItem objects; Establishing uniquenesses and reference constraint relationships among the values of related elements and attributes; Controlling the substitutability of elements through the mechanism of element substitution groups.

Base class: xsd.Component

class xsd.ElementDeclaration

Proper instances of this class will be created within RaptorXML only, instantiation from script code will throw a NotImplementedError exception.



Returns True if this xsd.ElementDeclaration is abstract. Such xsd.ElementDeclaration objects can appear in content models only when substitution is allowed; such declarations must not themselves ever be used to validate element content.


Returns an iterator of xsd.Annotation components.


Returns a subset of {xsd.BlockValue.EXTENSION, xsd.BlockValue.RESTRICTION, xsd.BlockValue.SUBSTITUTION}. The supplied values for disallowed_substitutions determine whether an xsd.ElementDeclaration appearing in a content model will be prevented from additionally validating elements (a) with an xsi:type that identifies an extension or restriction of the type of the declared element, and/or (b) from validating elements which are in the substitution group headed by the declared element. If disallowed_substitutions is empty, then all derived types and substitution group members are allowed.


Returns the xml.ElementInformationItem representing this schema component.


Returns the value of the ‘id’ attribute as a string, or None if the schema component’s XML element doesn’t have an ‘id’ attribute.


Returns an iterator of xsd.IdentityConstraintDefinition objects, which express constraints establishing uniquenesses and reference relationships among the values of related elements and attributes.


Returns the name of the xsd.ElementDeclaration. This property must match the local part of the names of elements being validated.


If nillable is True, then an element with no text or element content can be valid despite a type definition which would otherwise require content, if it carries the attribute xsi:nil with the value true.


Returns a xml.QName object representing the name and target_namespace pair of the component.


Returns the xsd.Scope property record of this xsd.ElementDeclaration. If scope.variety == xsd.ScopeVariety.GLOBAL, then this xsd.ElementDeclaration is available for use throughout the xsd.Schema. If scope.variety == xsd.ScopeVariety.LOCAL, then this declaration is available for use only within scope.parent (which is a xsd.ComplexTypeDefinition or a xsd.ModelGroupDefinition).


Returns an iterator of xsd.ElementDeclaration objects indicating the substitution groups this xsd.ElementDeclaration can potentially be a member of. Potential membership is transitive but not symmetric; an xsd.ElementDeclaration is a potential member of any group named in its substitution_group_affiliations, and also of any group of which any entry in its substitution_group_affiliations is a potential member. Actual membership may be blocked by the effects of substitution_group_exclusions or disallowed_substitutions.


Returns a subset of {xsd.FinalValue.EXTENSION, xsd.FinalValue.RESTRICTION}. An empty substitution_group_exclusions allows a declaration to be named in the substitution_group_affiliations of other xsd.ElementDeclaration objects having the same declared type definition or some type derived therefrom. The explicit values of substitution_group_exclusions, xsd.FinalValue.EXTENSION or xsd.FinalValue.RESTRICTION, rule out xsd.ElementDeclaration objects having types whose derivation from type_definition involves any extension steps, or restriction steps, respectively.


Returns an iterator of the actual members of this xsd.ElementDeclaration’s substitution group.


Returns the target namespace of the xsd.ElementDeclaration. A non-absent value provides for validation of namespace-qualified xml.ElementInformationItem objects. Absent values of target_namespace validate unqualified items.


Returns the declared type definition of this xsd.ElementDeclaration. This can either be a xsd.ComplexTypeDefinition or a xsd.SimpleTypeDefinition. The type definition against which an element information item is validated (its governing type definition) can be different from the declared type definition. The xsd.ElementDeclaration.type_table property, which governs conditional type assignment, and the xsi:type attribute of an xml.ElementInformationItem can cause the governing type definition and the declared type definition to be different.


Returns the xsd.TypeTable property record of this xsd.ElementDeclaration. This property record governs conditional type assignment using xsd.TypeAlternative schema components.


Returns the xsd.ValueConstraint property record of this xsd.ElementDeclaration. This property establishes a default or fixed value for an element. If a xsd.ValueConstraint with variety == xsd.ValueConstraintVariety.DEFAULT is present, and if the element being validated is empty, then for purposes of calculating the schema normalized value and other contributions to the post-schema-validation infoset the element is treated as if xsd.ValueConstraint.lexical_form was used as the content of the element. If variety == xsd.ValueConstraintVariety.FIXED, then the element’s content must either be empty, in which case FIXED behaves as DEFAULT, or its value must be equal or identical to xsd.ValueConstraint.value.

Special methods

__bool__, __eq__, __ge__, __gt__, __le__, __lt__, __ne__