XSchema Specification - Introduction (Section 1, Version 4)

Simon St.Laurent simonstl at simonstl.com
Thu Aug 20 14:53:09 BST 1998

Remember this, from a long long time ago?  It's the XSchema introduction,
freshly revised with a list of contributors.  

As always, a prettier HTML version of this will be posted shortly at

Please note that I am changing email addresses.  Please address future XSchema
correspondence to simonstl at simonstl.com. (The old address will work as well as
it ever did - poorly - but I won't be checking it as often.)

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

1.0 Introduction

In order for document processing to be reliable, it is necessary to be able to
describe classes of documents and to verify individual documents'
membership in
these classes -- in other words, to be able to express constraints on
and thus define 'document types'. XML inherits a mechanism for doing this from
SGML: the Document Type Definition. XML DTDs can perform a subset of the
functions of SGML DTDs.

DTDs have limited expressiveness and it is necessary to experiment with new
ideas in schema design. These ideas include a syntax that is more like that of
XML document content, certain kinds of extensibility and a cleaner separation
between parsing and verifying. XSchema is an experimental schema language
designed to provide a starting point for these experiments. 

So that XSchemas will be immediately useful with existing software, the
specification will describe a conversion from XSchema documents to DTDs. 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 will find their
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
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 developed into an effort focused 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
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
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
11. The XSchema specification will comply with and be consistent with W3C
12. XSchema documents shall provide constructs for human- and machine-readable

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. XSchema also refers to several
IETF standards, notably Multipurpose Internet Mail Extensions (MIME).

1.4 Terminology

The requirement levels used throughout this document reflect the approach of
RFC 2119 (http://www.isi.edu/in-notes/rfc2119.txt), though keywords (like may
and must) are not capitalized. Other terms used are defined in the XML 1.0
Recommendation, available at http://www.w3.org/TR/1998/REC-xml-19980210.

1.5 Authors and Contributors
The XSchema specification is the result of contributions from a large
number of
people on the XML-Dev list, coordinated by a smaller group of authors.

Simon St.Laurent  Ron Bourret John Cowan


Paul Prescod      Peter Murray-Rust Alain Deseine
Chris Maden Rick Jelliffe     Toby Speight
Jeni Tennison     Marcus Carr Michael Kay
James Anderson    David Megginson   Don Park
James K. Tauber   Tim Bray    John Simpson
Steven Champeon   Andrew Layman     Arjun Ray
Curt Arnold Bill la Forge     Bryan Gilbert
Carl Hage   Dan Brickley      David Brownell
David G. Durand   David Ornstein    David Rosenborg
Eric Albright     Francis Norton    Frank Boumphrey
Gisli Olafsson    Dirk Gouders      Guy Huard
Jacek Ambroziak   Jack Bolles Jarle Stabell
Jeremy H. Griffith      Jon Bosak   Lars Marius Garshol
Liam Quin   Lisa Rein   Mark D. Anderson
Matt Mower  Matthew Gertner   Mark Tucker
Kenneth J. Meltsner     Murata Makoto     Murray Maloney
Parameshwor Karki Paul Haahr  Paul Rabin
Robin Cover Scott Vanderbilt  Sean McGrath
Simon North Stefan Wagner     Steve Withall
Steven R. Newcomb Thuy-Lin Nguyen   Todd Ross
W.E. Perry  Will Hunt    

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

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