[Home] [By Thread] [By Date] [Recent Entries]


On Friday, October 24, 2003, at 09:26  AM, Simon St.Laurent wrote:

> Most of the documents I create personally have no schema.  The data
> model is open, defined only by the instance.  The code I write for
> processing these documents requires no schema.  The code has its own
> data model, which may or may not resemble the structure of the 
> document.

Me too, for the frequent occurrence of cooking up an ad-hoc vocabulary 
for some particular problem.  For a language that's going to be 
widely-shared, you really ought to write a schema (preferably .rnc), 
for three reasons:

1. It forces you to write down your design formally and exposes glaring 
gaps
    in your thinking.  It does for me, anyhow.
2. It's useful documentation, there are those who really find schemas
    easier to read than instances.  Weird but true.
3. It gives you some basic quick-and-dirty validation.  Schema-only
    validation is almost never useful at a business level.

An example that illustrates both 2 and 3 in the list above is the work 
on Atom; clearly something like this needs schemas for reasons 1 and 2, 
but the excellent feed validator does not use a schema-based approach.

Cheers, Tim Bray  http://www.tbray.org/ongoing/


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member