XSchema Spec, Section 1.0 (Draft 1)

Simon St.Laurent SimonStL at classic.msn.com
Sun Jun 7 15:36:59 BST 1998


Below is a initial draft of section 1.0 of the XSchema specification. This 
section provides an introduction to the XSchema specification, describing its 
relationship to standards, the goals developed earlier on this mailing list, 
and providing a glossary for terminology.  The glossary is not yet developed, 
but will certainly grow as the specification progresses.

Let's _not_ reopen the goals, please, but other comments and suggestions are 
welcome.  I hope to have some of section 2.0 (the real guts of the spec) up 
Sunday or Monday.

A prettier version (formatted using HTML) is available at 
http://purl.oclc.org/NET/xschema.

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


------------------------
1.0 Introduction

Extensible Markup Language (XML) uses notation inherited from the Standard 
Generalized Markup Language (SGML) to represent document structures and 
inclusions in its Document Type Definitions (DTDs). While this achieves 
considerable compatibility with SGML, it makes it impossible to extend the 
capacities of a DTD beyond those provided in SGML, requires developers to 
understand two different syntaxes for documents and DTDs, and forces tool 
builders to create a separate set of tools for managing DTDs. 

This XSchema specification describes an XML document representation for the 
structural information currently represented by DTDs, and a transformation 
from XSchema documents to DTDs.  This specification also suggests mechanisms 
and processing models for connecting documents to XSchemas.

This initial version of the XSchema specification is deliberately simple, 
providing an initial base for implementations while introducing as few 
complicating factors as possible.  Authors accustomed to DTD creation may find 
their toolset constricted; it is hoped that supporting software and tools 
available from other standards will make up for this reduced toolset.

1.1 Status
The XSchema specification is the product of discussions on the xml-dev mailing 
list.  This document has no official status. The editors have no affiliation 
with the World Wide Web Consortium (W3C), the organization developing and 
maintaining the XML standard, nor any affiliation with any W3C member 
organizations.  While it is hoped that this document may eventually be 
submitted to the W3C as a Note, it is not an official specification and should 
be considered experimental.

1.2 Origin and Goals
Proposals for describing SGML document type definitions using document syntax 
rather than the separate declaration syntax have been under development for a 
number of years, and used by several tools for documentation.  The current 
proposal arose from a number of concerns surrounding XML's usability and 
consistency.  Originally conceived of as a mapping of DTD syntax to document 
syntax, the project has focused more on creating schemas describing element 
and attribute structures rather than preserving every function provided by XML 
1.0 DTDs.

The list of goals developed by the xml-dev discussion follows:

1. XSchema documents shall use XML document syntax, using element nesting and 
attributes to describe all constraints that may be verified by a processor 
using XSchema .
2. XSchema shall define a transformation from XSchema documents to DTDs.
3. XSchema documents shall be capable of representing the normalized element 
and attribute structures defined in XML 1.0 DTDs, and provide namespace 
support.
4. XSchema documents shall be parseable, manageable, and manipulable using the 
same tools used to parse, manage, and manipulate XML documents.
5. XSchema documents shall be easy to create, read, and modify, and shall 
provide authoring support for XML documents.
6. XSchema documents shall be easy to use in combination with a parser to 
provide structural validation of documents.
7. XSchema shall include an XSchema document and an XML 1.0 DTD defining the 
structure of XSchema documents .
8. XSchema shall suggest mechanisms for applying XSchema documents to 
documents.
9. XSchema shall include mechanisms for extending the information included in 
XSchema documents to support metadata.
10. The XSchema specification shall be readable, clear, and rigorous, using 
terminology and nomenclature as close to the XML 1.0 specification as 
possible.
11. The XSchema specification will comply with and be consistent with W3C 
recommendations.
12. XSchema documents shall provide constructs for human- and machine-readable 
documentation.

1.3 Relation to Standards
XSchemas use XML 1.0 document instance syntax and may be applied to XML 1.0 
documents.  XSchemas are also designed to make use of XML namespaces.  It is 
hoped that XSchemas and RDF Schemas may be mapped to each other.  This 
specification has also been influenced by the discussion of the XML-Data 
proposal made to the W3C on 5 January, 1998.

1.4 Terminology
may - XSchemas are permitted but not required to behave as described.
must - XSchemas must behave as described.  Failure to behave as described 
constitutes an error.
error - A breach of the rules set forth in this specification.  Software 
should report this error to the user.
element
attribute
[to be filled in as the specification develops.]

-----------------
123456789112345678921234567893123456789412345678951234567896123456789712


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