Lists Home |
Date Index |
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
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
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/