Revision 1 From owner-xml-dev@ic.ac.uk Tue May 26 08:42:13 1998 Date: Tue, 26 May 98 13:17:56 UT From: "Simon St.Laurent" <SimonStL@classic.msn.com> Message-Id: <UPMAIL17.199805261316200216@classic.msn.com> To: "Xml-Dev (E-mail)" <xml-dev@ic.ac.uk> Subject: XSD: Proposed Goals, Rev. 1 Sender: owner-xml-dev@ic.ac.uk ----------------------------------------------------------------------- A revised set of goals for XSD follows, based on Peter's public comments and the private comments of two other participants. These are still open to change until Friday. Per previous usage, XSD (Extensible or XML Structure Definitions) refers to the standard under construction. SDD (Structure Definition Document) refers to the schema/XMLDTD/etc. created using that standard. (Better definitions are on the list of things to come very shortly.) 1. SDDs shall use XML document syntax. 2. SDDs shall be transformable into an XML 1.0 DTD containing the same element and attribute structures. 3. SDDs shall be capable of representing the normalized element and attribute structures defined in XML 1.0 DTDs. 4. SDDs shall be parseable, manageable, and manipulable using the same tools used to parse, manage, and manipulate XML documents. 5. SDDs shall be easy to create, modify, and document. 6. SDDs shall be easy to use in combination with a parser to provide structural validation of documents. 7. XSD shall include an XML 1.0 DTD defining the structure of SDDs. 8. XSD shall suggest mechanisms for applying SDDs to documents. 9. XSD shall include mechanisms for extending the information included in SDDs. 10. The XSD specification shall be readable and clear, using terminology and nomenclature as close to the XML 1.0 specification as possible. 11. The XSD specification will comply with and be consistent with W3C recommendations regarding XML. -------------------- 11 is new, and hopes to address both XSD's relationship with other parts of the XML standard (and XML-related standards) and XSD's relationship with the W3C. This is a slightly-improved _start_. Changes to language, meaning, order, terminology, etc. are all welcome, as are additions. ------------- [Note" a bit of background: From owner-xml-dev@ic.ac.uk Tue May 26 07:18:33 1998 Date: Tue, 26 May 1998 12:06:32 +0000 (UT) From: "Simon St.Laurent" <SimonStL@classic.msn.com> Subject: RE: XSD: Proposed Goals Tim Bray wrote: >I should point out that XSD is different from SAX in that it was pretty clear >that no W3C or other body was going to get into the stream-oriented API >business. Thus SAX was unclaimed territory. The schema picture is different; >it is near-certain that the XML WG or some other W3C organ *is* going to, >before too long, start emitting working drafts for some sort of a schema >facility. > >That said, I think the discussions you are having (in particular Paul >Prescod's manifesto of a couple of days ago) are tremendously useful. And Jon Bosak announced: >The only further information I can add to that is that the XML WG is >working on a briefing package that will request the W3C Director to >include the following in our charter for the coming year or so: >[...] > > Specify DTD schemas > > Add features to DTD functionality (in particular, data typing > and inheritance) > > Use instance syntax XSD is not operating in completely 'unclaimed' territory; rather, this is borderlands on the edge of a sparsely settled frontier. Developers who work in this territory run the risk of eviction when the real government arrives to establish some law and order. There isn't much point in claiming the territory, writing up deeds, and preparing to defend it. Fortunately, the point isn't defending the territory, it's making the territory a better place to be. Improving the territory, laying down some basic infrastructure for further development, and encouraging others to move here. When the government shows up, we can hand them what we've built, wish them the best, and hope the territory develops well. It appears that the XML WG is definitely preparing to move into this area, eventually. I think we can still make a contribution by building a _simple_ system, testing its implementations, and reporting on the results. If we're lucky, the WG will use some of it; if we're not, perhaps we'll have pointed out some routes to avoid. I'd like to see the syntax completed by the end of June - a much tighter timeframe than the usual deliberations. By keeping it simple and tightly focused, I think we stand a good chance of completing at least one round of this before the WG gets started. Hopefully the discussions (and perhaps even implementations) produced by this proposal will be of use to the XML WG. I hope strongly that this proposal will be seen as contributing, not competing. In the end, whatever the WG produces, I don't think it'll be too hard to write a conversion package mapping this system to their system. Though this proposal may be somewhat experimental, I still think that, as Tim Bray put it, "the discussions you are having (in particular Paul Prescod's manifesto of a couple of days ago) are tremendously useful." ------------------ Simon St.Laurent Dynamic HTML: A Primer / XML: A Primer / Cookies xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@ic.ac.uk the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk) Revision 2 From owner-xml-dev@ic.ac.uk Wed May 27 09:31:37 1998 Date: Wed, 27 May 98 14:17:24 UT From: "Simon St.Laurent" <SimonStL@classic.msn.com> Message-Id: <UPMAIL17.199805271415450999@classic.msn.com> To: "Xml-Dev (E-mail)" <xml-dev@ic.ac.uk> Subject: XSD: Proposed Goals, Rev. 2 A revised set of goals for XSD follows, based on public and private comments. These are still open to change until Friday. If there are changes today, I'll post them tomorrow, and again Friday morning. Friday's version will hopefully be the final version. We need to hammer this down and move on to more specific issues - syntax, implementations, and the rest of the fun. Per previous usage, XSD (Extensible or XML Structure Definitions) refers to the standard under construction. SDD (Structure Definition Document) refers to the schema/XMLDTD/etc. created using that standard. (Better definitions are on the list of things to come very shortly.) 1. SDDs shall use XML document syntax, using element nesting and attributes to describe all constraints that may be verified by a processor using XSD. 2. XSD shall define a transformation from SDDs to DTDs. 3. SDDs shall be capable of representing the normalized element and attribute structures defined in XML 1.0 DTDs. 4. SDDs shall be parseable, manageable, and manipulable using the same tools used to parse, manage, and manipulate XML documents. 5. SDDs shall be easy to create, read, and modify. 6. SDDs shall be easy to use in combination with a parser to provide structural validation of documents. 7. XSD shall include an SDD and an XML 1.0 DTD defining the structure of SDDs. 8. XSD shall suggest mechanisms for applying SDDs to documents. 9. XSD shall include mechanisms for extending the information included in SDDs. 10. The XSD specification shall be readable,clear, and rigorous, using terminology and nomenclature as close to the XML 1.0 specification as possible. 11. The XSD specification will comply with and be consistent with W3C recommendations regarding XML. 12. SDDs shall provide constructs for human- and machine-readable documentation. --------------------------------- Note that sequence doesn't matter; I'm putting new entries at the end to avoid numbering confusion, not to indicate precedence. Additions: Documentation moved from number 5 to number 12. Machine-readable documentation may be used by editors or to provide support for literate programming. This is definitely not a place for style or similar processing information. Modifications: 1 - Added "using element nesting and attributes to describe all constraints that may be verified by a processor using XSD." This comes from Paul Prescod. I didn't add the XLinks yet; I'd like to leave that open for discussion at this point. It's an excellent idea, but I'd like to be a little further before locking ourselves into it. 2 - Replaced the previously loose language with Paul's stricter statement. 5 - Removed 'document' (went to 12) and added 'read'. 7 - Added 'an SDD' to the mix. If we can't define our own structure with an SDD, it's probably not very useful. 10 - Added rigorous. Questions: 3 - Paul Prescod suggested removing it. I like it because it sets a limited task, the 'normalized' DTDs. I think 'capable of' leaves open the possibility that SDDs can do more than just this. 5 - Two private respondents have complained that 'easy' is too vague (as in 'easy to create, read, and modify'). To me this means SDD's should be editable by a human with a reasonable knowledge of XML structures, but I can see where this may bother people. I like the vagueness, I suppose. Anyone have a clearer idea? 9 - Should we add some kind of bounds to keep SDDs from redefining document instance syntax? 12 - Alain Deseine proposed a metadata mechanism. I hope we have the kinds of metadata he needs in this note. I don't want to march on metadata a la RDF with this module. Simon St.Laurent Dynamic HTML: A Primer / XML: A Primer / Cookies xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@ic.ac.uk the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk) Revision 3 From owner-xml-dev@ic.ac.uk Thu May 28 11:05:19 1998 Date: Thu, 28 May 1998 15:56:37 +0000 (UT) From: "Simon St.Laurent" <SimonStL@classic.msn.com> Subject: XSD: Proposed Goals, Rev. 3 Sender: owner-xml-dev@ic.ac.uk To: "Xml-Dev (E-mail)" <xml-dev@ic.ac.uk> A revised set of goals for XSD follows, based on public and private comments. These are still open to change until Friday. If there are changes today, I'll post them tomorrow. Tomorrow's version should be the final version. Note on names: per previous usage, XSD (Extensible or XML Structure Definitions) refers to the standard under construction. SDD (Structure Definition Document) refers to the schema/XMLDTD/etc. created using that standard. (Better definitions are on the list of things to come very shortly.) Paul Prescod is using XSchema to describe this project, and slowly but surely my resistance to that title is declining. I need to hear from people how they feel about that name - I don't mind using it, but I do want a consistent name for this project effective tomorrow. ------------------------- 1. SDDs shall use XML document syntax, using element nesting and attributes to describe all constraints that may be verified by a processor using XSD. 2. XSD shall define a transformation from SDDs to DTDs. 3. SDDs shall be capable of representing the normalized element and attribute structures defined in XML 1.0 DTDs. 4. SDDs shall be parseable, manageable, and manipulable using the same tools used to parse, manage, and manipulate XML documents. 5. SDDs shall be easy to create, read, and modify. 6. SDDs shall be easy to use in combination with a parser to provide structural validation of documents. 7. XSD shall include an SDD and an XML 1.0 DTD defining the structure of SDDs. 8. XSD shall suggest mechanisms for applying SDDs to documents. 9. XSD shall include mechanisms for extending the information included in SDDs to support metadata. 10. The XSD specification shall be readable,clear, and rigorous, using terminology and nomenclature as close to the XML 1.0 specification as possible. 11. The XSD specification will comply with and be consistent with W3C recommendations regarding XML. 12. SDDs shall provide constructs for human- and machine-readable documentation. 13. XSDs shall support namespaces. 14. XSD shall provide authoring support. --------------------------------- Note that sequence doesn't matter; I'm putting new entries at the end to avoid numbering confusion, not to indicate precedence. Additions: 13 - Namespaces, per Peter Murray-Rust. This is an issue I've been grappling with all week. How to make best use of namespaces will be among the early questions in this project's development. 14 - Authoring, also per Peter. Overlaps with 5 and 12 to some extent, but seems important. Also moves us past 13 goals - we need all the luck we can get. Or is 13 just a lucky baker's dozen? Modifications: 9 - added "to support metadata". Paul's description of possibly dangerous extensions is convincing. I'm not sure "to support metadata" is enough, but I'm not sure how better to phrase it. I think prescribing extension limits is something that will have to be done in the body of the document. Questions: The XSchema/XSD question is the largest looming issue I see right now. -------------------- Please post comments, privately or publicly. Tomorrow's draft will be the final version - no more large issues may be added. Also tomorrow, the steady flow of questions we need to resolve within this framework will begin. I've built a set of questions; others are welcome to contribute. To avoid overlapping questions, I'd appreciate it if people could send those to me privately. I'll collate them and post them (with attribution) as the process moves along. Questions will begin fairly broad and move in to more tightly focused issues as development progresses. This has been pretty amazing so far. I'd like to thank everyone who's contributed so far, and welcome everyone else to join in! I think we've redefined the issues, creating a much more focused and much better project than I originally proposed, and that we have an excellent chance of making a very useful contribution to the XML community. Simon St.Laurent Dynamic HTML: A Primer / XML: A Primer / Cookies xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@ic.ac.uk the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk) Revision 4 From owner-xml-dev@ic.ac.uk Fri May 29 10:27:15 1998 Date: Fri, 29 May 98 15:18:09 UT From: "Simon St.Laurent" <SimonStL@classic.msn.com> Message-Id: <UPMAIL17.199805291517100854@classic.msn.com> To: "Xml-Dev (E-mail)" <xml-dev@ic.ac.uk> Subject: XSchema: Goals, final version Note the name change: XSD is now XSchema. _No one_ defended XSD. Several people liked XSchema. For now, SDDs are XSchema documents. It could become XSD, but at this point, we don't need any more naming confusion. This version should be considered final until proven otherwise. The goals will be part of the final specification and, as such, may change if we hit enormous roadblocks. Unless that happens, please consider these final so that we can move on to more specific issues. ------------------------- 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. 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. --------------------------------- Notes: 9 - I left "to support metadata" here after much pondering. Virtually any extension put here could be considered metadata in some sense. We'll have to define this more closely in the spec. Modifications: 11- Removed "regarding XML", bringing this proposal into hopeful alignment with more of the W3C's activities. (Prompted by RDF discussion.) Deletions: 13 - Folded namespace support into #3, with element and attribute support. 14 - Folded 'authoring support' into #5, "easy to create, read, and modify..." Simon St.Laurent Dynamic HTML: A Primer / XML: A Primer / Cookies xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@ic.ac.uk the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)