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)