Comments on the XML Schema Specification

Ladies and Gentlemen of the Schema Working Group --


Please allow me to introduce myself briefly.

I am a developer working for Software AG, speaking 
on their behalf and at their request.  I have been a full 
time software developer for 16 years.  Before that I 
received a master's degree in computer science as well 
as a bachelor's degree in English language and literature. 

I am new to the world of XML and have no prior 
experience with SGML.  Since mid-February I have 
nevertheless managed to write a functioning prototype, 
in C, of an XML parser for the full grammar.  I expect
to be doing partial validation of documents shortly.

A wise man recently told me that the success of an idea
depends upon its ability to propagate.  I humbly suggest 
that I am highly representative of the population you need 
to persuade in order to propagate XML Schema.  I am 
eager to do my part in that process.



Unfortunately, after studying "XML Schema Part 1: Structures", 
I do not feel confident that I can use it to produce an 
implementation.  In fact, I'm still not sure quite where to 
start.  I feel that the Schema Spec needs a substantial and 
thorough rewrite to make it usable by implementers like myself.
I find the organization strategy opaque and the prose turgid.

I regret that I can't suggest specific improvements (I have
never been a spec-writer), but I can make two general 
observations about documents that did work well for me.


1. The XML 1.0 spec was organized around the language's 
    grammar productions -- something I understand and need 
    as an implementer.  This also had the effect of allowing me
    to focus on relevant (to me) detail in my first passes through
    that spec, and add more detail as needed it and was able to.  
    The Schema Spec seems to make that kind of reading difficult.

2. Murata-san's Relax document is deliberately tutorial.  Reading
    it gives the impression that he is concerned with the 
    propagation of his idea as seriously as he is concerned with
    its careful specification.  The Schema Spec, by contrast, seems
    solely concerned with specification that is careful to a fault.
    There seems to be little regard for issues of clarity, gradual 
    understandability, and so on.


I remember Henry Thompson's comment at a Town Hall
meeting at XTech 2000 that the sort of explication I want
should simply be taken on by some of us in the audience.  
It would be up to us to write "XML Schema for Idiots".  
I can't disagree with that attitude strongly enough.  The Spec
must stand on its own as a clear and useful explication, or 
the books will never arrive.

Also, Henry mentioned that he and a colleague had already
managed to implement three-quarters or so of the Schema 
functionality in just a couple part-time months, "and not the 
easiest three-quarters."

But Mr. Thompson's implementation experience seems like 
a mighty poor predictor of Schema's ease of propagation.
With his prior level of knowledge and experience -- I don't 
think there are enough of him.  

There *are*, on the other hand, enough of me -- but this Spec 
just leaves too much work for me to do.  Instead, I will go to an 
alternative technology like Relax, which I was able to understand 
easily -- enough to get started with -- in a couple of hours.

In its current form, I fear that the XML Schema Spec will
act as a filter rather than as a pump.

-------------------------------------------------------- Mick .

Received on Thursday, 25 May 2000 15:54:03 UTC