
At 13:27 15/10/03 +0200, ketil+haskell@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 community. 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, ...) #g ------------ Graham Klyne For email: http://www.ninebynine.org/#Contact