Reinventing the <!WHEEL>

There’s another chapter to add to the great history of XML, mark you: The XSCS Project Team step in with a compact, human-readable version of schemata, a step forward in the fight against invalid documents.

Hang on. Wait a cotton-picking moment. Really? A quick glance at the examples in a recent XML.com article sends a chill down the spine of anyone that knows what a DTD looks like. Let’s take that example:

complexType extensionType extends xs:annotated { ( @xs:typeDefParticle?, @xs:attrDecls ); required attribute base { xs:QName } }

And add some syntactical jewellery. This may not quite correspond exactly to the original schema hierarchy—my life is far too short to untangle the unreadable stack of <xs:*/> elements in the article (which is dreadfully shoddy journalism but if you want more then pay me more)—but I do this in reasonably good faith, so have a heart, lawks, etc:

<!COMPLEXTYPE extensionType EXTENDS xs:annotated [ ( %xs:typeDefParticle?, %xs:attrDecls ) REQUIRED <!ATTRIBUTE base xs:QName > ]>

Then compare it to a section from the old HTML DTD:

<!ELEMENT PARAM - O EMPTY <!ATTLIST PARAM id ID #IMPLIED name CDATA #REQUIRED value CDATA #IMPLIED valuetype (DATA|REF|OBJECT) DATA type %ContentType; #IMPLIED >

For the 80-column minds out there, I’m well aware that I have to put two isomorphisms side by side if I want to strengthen my case. But if you had two groups running the same project, and one came up with SGML DTDs, the other would probably come up with XSCS. Well. I suppose it’s good to know that, if we had DTDs, someone would have to reinvent them. And it’s good to know that we’re not advocating a return to DTD syntax, given that we have this whole new quasi-DTD XSCS syntax instead. Er. Wouldn’t their time be best served solving the namespace problem in DTDs and shipping that?

Next stop, of course: the SeManTicWeb achieves consciousness by recycling old LISP code, and we all become its slaves.

This entry was posted in computers, technology, XML. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s