XSD/XSchema Proposed Goals
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)