DDML/XSchema

The W3C has accepted XSchema, now retitled Document Definition Markup Language (DDML), as a submission. The W3C Note is now available. DDML information will continue to be available at the PURLs http://purl.oclc.org/NET/ddml and http://purl.oclc.org/NET/xschema. Many thanks to Ron Bourret for his continued editorial work, and to Ingo Macherius and GMD for their work in shepherding the proposal through the W3C process.

A slightly corrected (typos!) DTD for DDML is available.

The XSchema information below will remain available for historical background.


The XSchema project is a cooperative effort, based on the xml-dev mailing list. The XSchema specification, when complete, will provide a means for XML developers to describe their XML document structures using XML document syntax.

The XSchema project (formerly known as XSD) began with a proposal for the representation of XML DTDs as XML documents. This proposal was never complete, and should be considered obsolete, but it does describe some of the possible advantages of using XML document syntax to describe XML document structures.

After discussion, the XSchema project has established a set of 12 goals that it hopes to achieve. The project has moved into a phase consisting of questions. The initial questions are fairly general, but will focus down more tightly on specific issues as the project progresses. The proposals below are drawn from the results of that questioning period.

XSchema is not intended to compete with proposals from the World Wide Web Consortium (W3C), the standards body that has created and continues to develop XML. We hope that this proposal will provide some foundations for future W3C developments, but keep in mind that this is not a W3C-sanctioned process.

Information about XSchema will always be available at http://purl.oclc.org/NET/xschema. The site is moving to http://www.simonstl.com/xschema right now.

XSchema Draft

XSchema 1.0 final version released. 1 November, 1998.

  1. First Draft, Sections 1-3 plus Appendix A - 21 August 1998
  2. Final Review Draft, Sections 1-3 plus Appendixes A, B, & D - 16 September 1998
  3. Complete Draft except Appendixes C - 23 September 1998
  4. Final Review Draft, all sections - 18 October 1998
  5. XSchema 1.0 final version 1 November 1998
  6. XSchema 1.0 (typos fixed) 9 December 1998

XSchema Section Drafts

XSchema Specification Outline posted for comments

  1. First Draft - 04 June 1998
  2. Modified to include notations, XSchema DTD, and XSchema for XSchemas - 05 June 1998

Section 1.0 through 1.4 (Introduction) of XSchema Specification

  1. First Draft - 06 June 1998
  2. Section 1.0 modified to differentiate from DTDs - 09 June 1998
  3. Section 1.0 modified to remove unnecessarily harsh language regarding DTDs - 10 June 1998
  4. Added list of contributors, referenced RFC 2119 for terminology - 20 August 1998
  5. Updated Relation to Standards and moved list of contributors to Appendix D - 16 September 1998
  6. Added section about related work- 1 November 1998

Sections 2.0 and 2.1 (XSchema document, document syntax) of XSchema Specification

  1. First Draft - 08 June 1998
  2. Removed Entity references - 12 June 1998
  3. Added namespaces, XSC:More element - 01 July 1998
  4. Required namespaces to appear at front, clarified language - 09 July 1998
  5. Made namespaces optional - 18 July 1998
  6. Adjusted for new namespace proposal - 03 August 1998
  7. Removed namespace element - 07 August 1998
  8. Added AttGroup element to XSchema content model - 17 August 1998
  9. Minor editorial cleanup - 16 September 1998
  10. Added ElementNS attribute - 23 October 1998

Section 2.2 (Element Declarations) of XSchema Specification

  1. First Draft - 09 June 1998
  2. name as ID removed, replaced with NMTOKEN, added namespaces - 21 June 1998
  3. Added XSC:More, id attribute, root attribute - 07 July 1998
  4. Minor cleanup (made XSC:More optional), additional description - 09 July 1998
  5. Specified that Element names must meet name production rules - 18 July 1998
  6. Added ns and prefix attributes to support namespaces, model element as content model container - 07 August 1998
  7. Added AttGroup - 10 August 1998
  8. Minor editorial cleanup - 16 September 1998

Section 2.3 (Content Model Declarations) of XSchema Specification

  1. First Draft - 11 June 1998
  2. Section 2.3.6 (Mixed Content) fixed - 13 June 1998
  3. Section 2.3.5 (Ref) cleared of remaining IDREF - 24 June 1998
  4. Changed all IDs to names, added nesting for clarity - 09 July 1998
  5. Added initial comments on content model declarations appear under XSC:XSchema elements, removed conditional language, added id attributes to all element for possible reference - 18 July 1998
  6. Added Model element for content model, removed XSC: prefixes. - 18 August 1998
  7. Allowed Model, Seq, Choice elements to contain Model elements. - 20 August 1998
  8. Minor editorial cleanup - 16 September 1998
  9. Removed Model from content model of Model; added ElementNS to Ref, Mixed, Choice, and Seq; clarified description of Mixed - 23 October 1998

Section 2.4 (Attribute Declarations) of XSchema Specification

  1. First Draft - 23 June 1998
  2. Significant revisions from Ron Bourret and others. Clearer examples, better descriptions - 24 June 1998
  3. Namespaces fixed - 25 June 1998
  4. Switched from child elements to attributes. Added XSC:More. Added id attribute. Supported XSC:AttDef outside of XSC:ElementDecl - 11 July 1998
  5. Added table defining more interactions with XML 1.0. AttDefs in XSC:XSchema elements apply to all element declarations in that XSC:XSchema element. Assorted cleanup. - 18 July 1998
  6. Returned EnumerationValue sub-element (thanks to Carl Hage and Ron Bourret). Assorted clean up.. - 24 July 1998
  7. Updated namespaces. Added AttGroup element. Reduced complexity of declarations (thanks to Jeni Tennison and Ron Bourret). - 18 August 1998
  8. Added AttGroup to the content model of AttGroup, removed the Name attribute from AttGroup, clarified element references, and add the id, ns, and prefix attributes to AttDef - 16 September 1998
  9. Added ElementNS attribute to AttGroup and AttDef; rewrote 2.4.0; added Enumeration element - 23 October 1998
  10. Removed Element and ElementNS attributes from AttGroup and AttDef - 1 November 1998

Section 2.5 (Notation Declarations) of XSchema Specification

  1. First Draft - 24 June 1998
  2. Namespaces fixed, wording clarified - 25 June 1998
  3. Added XSC:More, use attributes instead of child elements. - 11 July 1998
  4. Cleaned up capitalization, grammar. - 18 July 1998
  5. Updated for namespace changes. - 18 August 1998
  6. Minor editorial cleanup - 16 September 1998

Section 2.6 (Unparsed Entity Declarations) of XSchema Specification

  1. First Draft - 16 September 1998
  2. Added More and Doc to content model - 23 October 1998

Section 2.7 (XSchema Documentation and Extensions) of XSchema Specification

  1. First Draft - 29 June 1998
  2. Clarified some documentation issues - 11 July 1998
  3. Updated IBTWSH information - 18 July 1998
  4. Updated namespaces - 18 August 1998
  5. Changed horiz.model to struct.model - 20 August 1998
  6. Minor editorial cleanup - 16 September 1998

Section 2.8 (id Attributes) of XSchema Specification

  1. First Draft - 16 September 1998

Section 3.0 (Namespaces) of XSchema Specification

  1. First Draft - 29 June 1998
  2. Added new PI requirements, made clear likelihood spec would change - 2 July 1998
  3. Significant cleanup of sections 3.1 and 3.2; merged 3.3 with 3.1 and 1.3 - 16 September 1998
  4. Added section to 3.0 about using XSchema documents in non-namespace aware environment; rewrote section 3.2 - 23 October 1998
  5. Removed discussion of Element and ElementNS attributes from 3.2 - 1 November 1998

Section 4.0 through 4.3 (XSchema Documents and DTDs) of XSchema Specification

  1. First Draft - 23 September 1998
  2. Loosened restrictions on comments; explained PI processing - 23 October 1998

Section 5.0 through 5.3 (Using XSchema Documents) of XSchema Specification

  1. First Draft - 23 September 1998
  2. Cleaned up XSchema PI and added public ID - 23 October 1998
  3. Added VersionNum to XSchema PI, partial enforcement of Root Element Type VC, explained why parsed entities not supported - 1 November 1998

XSchema News

Want to help?

Bookmarking this site? Use the PURL.

Last modified: 22 April, 1999.