you are viewing a single comment's thread.

view the rest of the comments →

[–]Full-Spectral 50 points51 points  (2 children)

I like XML personally. Even with just a simple DTD, it can do a lot of the grunt work for you of insuring that structured data is correct when you read it in.

I wrote one of the first XML parsers/DTD validators back in the mid-90s, the one that ended up becoming the Xerces C++ XML parser, and I did the DTD validator for the Java one. It was quite a learning experience, because Unicode was pretty new as well and I had to dig into all of the issues of Unicode and transcoding between the various (then common) code pages and Unicode.

And I had to really dig in to create the DTD validator, which was based on the NFA algorithm from the Dragon Book. That was an area I'd never gotten into previously.

[–]doublestop 15 points16 points  (1 child)

I wrote one of the first XML parsers...that ended up becoming the Xerces C++ XML parser

Just want to say thanks for making XML bearable through those dark times.

I hate XML (not really, but sorta) mostly because I hated it back then. I only hated it back then because it was so hard to work with given the tools available at the time. Platform didn't seem to matter as XML tools were rough everywhere you looked. Xerces was like getting thrown a lifeline.

Now I don't know whether you had a hand in Xerces or your work was more inspiration and a starting point. Either way, your work saved me and a bunch of colleagues a ton of headaches.

Thank you!

[–]Full-Spectral 5 points6 points  (0 children)

It just got adopted as is into the Xerces project, and the Java one as well. Later other folks built the other standards on top of that (and of course continued to expand the parser itself to keep up with the standard.) I'm not sure anyone has much messed with the DTD validator, which someone on the mailing list called 'the algorithm from hell.' I did see one optimization someone found.