This is a draft of what is scheduled to become a W3C Note in January 1998, produced as a deliverable of the XML Schema WG according to its charter. The current version of this document is an internal WG draft for comment by XML Schema WG members. It is inappropriate to use W3C draft Notes as reference material or to cite them as other than work in progress. A list of current W3C working drafts and notes can be found at http://www.w3.org/TR .
According to the XML Schema WG Charter, the document you are reading was scheduled to be published as a W3C Note in December 1998. This document offers an edited selection of requirements already discussed by the group, upon which we hope everyone can agree. It has not yet been approved by the XML Schema WG or the XML Plenary group, and has not yet been made public.
In preparing this list of requirements, the editors have attempted to include all the essential requirements suggested in the WG discussions so far. However, this requirements documents has been intentionally designed to leave most design questions undecided. So, if WG members agree to this document, the WG will have an opportunity argue all the remaining issues during the design phase. See the referenced list of the XML Schema WG issues at "Candidate Requirements for XML Schema and Datatyping from Nov. 14 and 15 meeting".
Please consider the following document as a best effort at a baseline set of requirements. As the XML Schema work continues, the concrete implications of these requirements for the design will be worked out and documented.
Comments about this document should be addressed to the XML Schema WG.
This document specifies the basic usage scenarios, design principles, and base requirements for an XML schema language.
This document lists a base set of agreed requirements for an XML schema language.
The XML 1.0 specification defines the concepts of well-formedness and validity; it is very simple to check a document for well-formedness, while validation requires more work but allows the user to define more powerful constraints on document structure. XML validity requires that a document follow the constraints expressed in its document type definition, which provides the rough equivalent of a context-free grammar for a document type.
In some contexts, applications may need definitions of markup constructs more informative, or constraints on document structure tighter than, looser than, or simply different from those which can be expressed using document type definitions as defined in XML 1.0. There is also a widespread desire to allow markup constructs and constraints to be specified in an XML-based syntax, in order to allow tools for XML documents to be used on the specifications.
By charter, the XML Schema WG is assigned to address the following issues:
The XML Schema work is interdependent with several other areas of W3C activity. These are listed below under Design Principles.
The purpose of the XML schema language is to provide an inventory of XML markup constructs with which to write schemas.
The purpose of a schema is to define and describe a class of XML documents by using these constructs to constrain and document the meaning, usage and relationships of their constituent parts: elements and their content, attributes and their values, entities and their contents and notations. The definitions of XML markup constructs document and restrict the meaning, usage, and function of elements, attributes and datatypes, their contents, and how they may be combined. Schema constructs may also provide for the specification of implicit information such as default values. Schemas document their own meaning, usage, and function.
Thus, the XML schema language can be used to define, describe and catalogue XML vocabularies for classes of XML documents.
Any application of XML can use the Schema formalism to express syntactic, structural and value constraints applicable to its document instances. The Schema formalism will allow a useful level of constraint checking to be described and validated for a wide spectrum of XML applications. For applications which require other, arbitrary or complicated constraints, the application must perform its own additional validations.
The following usage scenarios describe XML applications that should benefit from XML schemas. They represent a wide range of activities and needs that are representative of the problem space to be addressed. They are intended to be used during the development of XML schemas as design cases that should be reviewed when critical decisions are made. These usage scenarios should also prove useful in help non-members of the XML Schema WG understand the intent and goals of the project.
Distribution of information through publishing and syndication services. Involves collections of XML documents with complex relations among them. Structural schemas describe the properties of headlines, news stories, thumbnail images, cross-references, etc. Document views under control of different versions of a schema.
Libraries of schemas define business transactions within markets and between parties. A schema-aware processor is used to validate a business document, and to provide access to its information set.
The management and use of network devices involves the exchange of data and control messages. Schemas can be used by a server to ensure outgoing message validity, or by the client to allow it to determine what part of a message it understands. In multivendor environment, discriminates data governed by different schemas (industry-standard, vendor-specific) and know when it is safe to ignore information not understood and when an error should be raised instead; provide transparency control. Applications include media devices, security systems, plant automation, process control.
One important class of application uses a schema definition to guide an author in the development of documents. A simple example might be a memo, whereas a more sophisticated example is the technical service manuals for a wide-body intercontinental aircraft. The application can ensure that the author always knows whether to enter a date or a part-number, and might even ensure that the data entered is valid.
A query interface inspect XML schemas to guide a user in the formulation of queries. Any given DB can emit a schema of itself to inform other systems what counts as legitimate and useful queries.
In the design of any language, trade-offs in the solution space are necessary. To aid in making these trade-offs the following design principles are used. They are subject to comment and revision.
The XML schema language shall be:
The XML schema language specification shall:
The XML schema language must define:
The XML schema language must:
The XML schema language must: