XSchema Spec, Section 2.2 (Element Declarations), Draft 3

Simon St.Laurent SimonStL at classic.msn.com
Mon Jul 6 22:53:11 BST 1998


Following is the latest draft of the Element Declarations section.  It has 
been updates to include id attributes (coming soon to _all_ XSchema elements) 
and the root attribute, which provides suggestions to authoring tools about 
the reasonable use of elements as roots.  It also adds the XSC:More element to 
Element declarations, providing an area for extensibility beyond the scope of 
XSchema.

Please remember to vote on Ron Bourret's ballot regarding naming!

All suggestions are extremely welcome.

As always, a prettier HTML version of this will be posted shortly at 
http://purl.oclc.org/NET/xschema.

Simon St.Laurent
Dynamic HTML: A Primer / XML: A Primer / Cookies

2.2 Element Declarations

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

<!ELEMENT XSC:ElementDecl (XSC:Doc?, XSC:More, (XSC:Ref | XSC:Choice | XSC:Seq 
| XSC:Empty | XSC:Any | XSC:PCData | XSC:Mixed), XSC:AttDef*)>
<!-- name is the element name -->
<!ATTLIST XSC:ElementDecl 
       name NMTOKEN #REQUIRED
       id ID #IMPLIED
       root (Recommended | Possible | Unlikely) "Possible">

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

<XSC:ElementDecl name="Species">

...additionalElementInformation... 
</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. 
The XSC:id attribute must be unique within the document. This attribute may be 
used to uniquely identify this XSC:ElementDecl element for reference by 
XPointers and other tools.

The XSC:root attribute provides authoring tools with a guide for which 
elements are likely root elements for documents.  This is intended to simplify 
the choices presented to authors during document composition.  

Note that an element must declare a content model, even if that content model 
is empty. Documentation (in the XSC:Doc element), non-XSchema extensions (in 
the XSC:More element) and attribute declarations (using XSC:AttDef elements) 
are optional.

Documentation about the element, additional extensions, 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. Additional extensions are covered in 2.6.2, Further Extensions.  
Content Model is covered in 2.3, Content Model Declarations, and attributes 
are covered in 2.4, Attribute Declarations.


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list