A communiqué from Matthew Fuchs (Commerce One) highlights the technical significance of W3C's recent XML Schema formalization, published in a W3C Working Draft as XML Schema: Formal Description. The document supplies formal a description of XML types and validity as specified by the recently-issued Proposed Recommendation XML Schema Part 1: Structures. From the Introduction: "This formalization is a formal, declarative system for describing and naming XML Schema information, specifying XML instance type information, and validating instances against schemas. The goals of the formalization are to: (1) Provide a semantic framework for software systems that use the W3C XML Schema specification, such as the W3C XML Query Algebra; (2) Specify names for all components of an XML Schema, so that they can be uniquely identified by URIs. Such unique identifiers may be useful to XML Query, RDF, and topic maps, among others; (3) Formally define validation at a declarative level; (4) Define the mapping from the current XML Schema syntax onto the structures described here, as well as the mapping between the XML Schema component mode and our component model. Many potential applications of XML Schema may benefit from the definition of a formal model. We have focused on the material in Part I (Structures), as this is the most complex; a basic understanding of first-order predicate logic, which is part of most computer science curricula, is adequate to understand this document."
Bibliographic information: XML Schema: Formal Description. Reference: W3C Working Draft, 20-March-2001. Edited by Allen Brown (Microsoft), Matthew Fuchs (Commerce One), Jonathan Robie (Software AG), and Philip Wadler (Avaya).
From the 'Status' statement: "This specification of the formal description of XML Schema is a working draft of the XML Schema Working Group and has been adopted by the working group as the formalization of the XML Schema Definition Language, in fulfillment of its commitment to provide such a formalization at the conclusion of the Candidate Recommendation phase for XML Schema. Future versions of the document will incorporate some or all of the XML Schema Part 2: Datatypes specification, the key/keyref facility, and a bidirectional mapping between the XML Schema component model and the corresponding part of this formalization. Parts of this specification, such as the normalization of names, may eventually find a broader use." The issues list W3C XML Schema WG: Issues relating to formalization of XML Schema will guide further development work.
Approach: "The approach followed here follows the best practices currently used in the programming languages community, although somewhat adapted for XML. The hallmark of this approach is the use of context free grammars to provide syntactic checking and the use of inference rules to provide the semantics associated with each piece of syntax. This means there is, essentially, one inference rule per context free grammar production. This set of inference rules is not intended to be in any way minimal, but it is helpful from both a pedagogical and implementation standpoint - for each syntactic construct it is straightforward to identify its underlying semantics."
Principal references:
- XML Schema: Formal Description
- Latest version URL [http://www.w3.org/TR/xmlschema-formal/]
- W3C XML Schema WG: Issues relating to formalization of XML Schema
- XML Schema Part 1: Structures
- XML Schema Mailing list archive
- W3C XML Activity
- Earlier 'MSL' discussion 2001-02-14
- "XML Schemas" - Main reference page.