2.2 Element Declarations

Element declarations in XSchemas are made using the XSC:ElementDecl element and its contents:

<!ELEMENT XSC:ElementDecl (XSC:Doc?, (XSC:Ref | XSC:Choice | XSC:Seq | XSC:Empty | XSC:Any | XSC:PCData | XSC:Mixed), XSC:AttDef*)>
<!-- name is the element name -->
<!ATTLIST XSC:ElementDecl XSC:
name NMTOKEN #REQUIRED >

The XSC:name attribute identifies the name of the element, and is required. An element declaration would look like:

<XSC:ElementDecl XSC:name="Species">
...additionalDeclarations...
</XSC:ElementDecl>

This declaration would declare an element named "Species", which would appear in an instance as:

<Species>...content...</Species>

The XSC:name attribute must be unique within the set of elements, as it provides the name of the element as declared here, and is also used by other elements to refer to this element in their content model declarations. Note that an element must declare a content model, even if that content model is empty. Documentation (in the XSC:Doc element) and attribute declarations (using XSC:AttDef elements) are optional.

Documentation about the element, content-model information, and attribute information are stored as sub-elements of the XSC:ElementDecl element. Documentation is covered in 2.6.1, Documentation Extensions. Content Model is covered in 2.3, Content Model Declarations, and attributes are covered in 2.4, Attribute Declarations.