[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] XML spec and XSD
- From: Rick Jelliffe <rjelliffe@allette.com.au>
- Date: Sun, 08 Nov 2009 20:01:32 +1100
Len Bullard wrote:
> No. I think it was a way of saying something simple and familiar will work
> until something more precise and powerful can replace it. It was a
> stabilizer in a time of incredible shifts and unpredictable fortunes. It's
> clear that validity is not intrinsic to markup functionally. It is just as
> clear that validation is useful to applications.
>
DTDs provide a convenient summary and test of a document; they allowed
and encouraged a basic level of test-driven development in an area with
a lot of cowboy programmers.
When the summary becomes larger than the document, and the test becomes
more difficult to debug than to do by hand, then DTDs are not much use.
Which is why so many small XML documents don't have them.
But you need a fairly large document for an XSD schema to be useful to
programmers as a summary, and you need a very complex document before
the schema is less difficult to install and debug than just inspecting
the documents or writing your own tests.
The main problem with DTDs is not that they are flawed (they are nice
simple, modest, inoffensive little things), but that that DTDs limited
the expectations of the initial XSD Schema WG, many of whom had never
written a schema or DTD IIRC*, about what a schema was supposed to do.
Questions that could have been asked early include "Can this support
HTML?", "Can this support SVG?", "Can this support RDF?", "Can this
support XSLT?", "Can this support RSS?" Instead, what we got was "Can
this support Postal Addresses?"
Cheers
Rick Jelliffe
* When I was on the XSD Working Group (a decade ago), any reference I
made to "idiomatic usages of XML" seemed to be met with utter
incomprehension and dismissal, as if it were an eccentric concern.
Consequently, at the last minute, when XSD was finally tested against
real schemas such as HTML, it was found to need revisions: the whole
complex-type derivation system was found inadequate and the <redefine>
escape hatch had to be provided, for example. Now, after 10 years, we
can see some recognition of this, in that XSD 1.1 has some idea that
attributes might actually be used to make decisions on content. (Of
course, instead of the neat RELAX NG way, XSD implements it by tacking
it on outside content models, the chance for more bogus complexity being
too irresistable, I suppose.)
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]