If you're like most XML developers, you probably treat DTDs like bitter medicine - you have to use them, but you don't necessarily have to enjoy the process.
It's not hard to understand this attitude - the tangled syntactical constructs and difficult-to-remember symbols of a DTD are enough to give most developers a splitting headache (not to mention a lifelong aversion to the technology). Even more frustrating is the fact that when it comes to validating XML, DTDs are the only game in town - if you plan on using XML seriously, you need to know how to create and maintain a DTD, together with its associated !ELEMENTs and !ATTLISTs.
Or do you?
Taking note of the murderous feelings keeping XML developers up at night, the W3C has recently come up with a kinder, gentler way of validating XML data. It goes by the name XML Schema, offers all the capabilities of current DTDs, adds a bunch of powerful new features, and is a lot easier on the eye.