XML DTD for the package configuration file

Graham Klyne GK at ninebynine.org
Thu Oct 16 10:50:44 EDT 2003

At 13:27 15/10/03 +0200, ketil+haskell at ii.uib.no wrote:
> > XML Schemas are extensible to future additions
> > XML Schemas are richer and more useful than DTDs
> > XML Schemas are written in XML
> > XML Schemas support data types
> > XML Schemas support namespaces
>Like XML in general, they also tend to be verbose and noisy, and
>difficult to read for a human. So if you want my opinion, I don't like
>them much, but then I don't like many of the directions XML is moving
>anyway.  I'll accept it as a lost battle, and move on. :-)

FWIW, the complexity of XML schema did attract some considerable flack 
within W3C a couple of years ago.  Some leading XML activists were openly 
critical about the complexity of XML schema, coupled with the fact that it 
doesn't handle *everything* that one can do with DTDs.

That said, XML schema *is* a full W3C recommendation, and it is being 
widely used.  Both DTDs and XML schema are commonly used still.

There is another specification, which has now ended being consensualized 
(not quite "standardized") by OASIS, called Relax NG 
[http://www.relaxng.org/].  This is regarded by many as being technically 
superior, but I don't see it getting much attention outside the technical 

I think the main problem here is that XML is not really a human-readable 
language for highly structured information like a grammar 
description.  Now, if we could come up with a surface syntax for XML Schema 
that also happens to be valid and executable Haskell, I think that would be 
interesting.  I was very taken when I wrote a URI parser a while back how 
closely the Haskell source code reflected the specification from which I 
was working;  I find similar benefits using Parsec to write a Notation 3 
parser.  And does such code need to be used just for parsing?  Could a 
Haskell-ized version of XML schema together with an appropriate function 
library be used to perform all kinds of XML schema processing?  For example 
the same source code used as a validator, OR to generate an XML schema file 
for use by other tools (OR a DTD, OR Relax NG, ...)


Graham Klyne
For email:

More information about the Libraries mailing list