in reply to MSc XML Project

You only really need a DTD or Schema if you (or anyone you will be distributing your XML files to) need to validate against one. If there are only a small number of parties involved, everyone can agree on a common format (or agree to follow your common format), and you can be sure that every script or program will produce correct output there isn't really a need for a formal DTD or Schema.

If some of those conditions aren't met, you will need a DTD or Schema. In order to decide which is appropriate, first decide "Will a DTD do the job?". If the answer to that question is no, only then should you use a Schema.

My latest XML project was part of a messaging system for a distribution chain. My (server) script had to talk to their (client) script and that was all so we decided that developing a DTD was unnecessary.

Replies are listed 'Best First'.
Re [2]: MSc XML Project
by RatArsed (Monk) on Jan 04, 2003 at 20:06 UTC
    One comment I would make, is that any well designed software defines it's interfaces. XML is effectively an interface, so it's format really should be documented. To this end, XML Schema and DTDs are very effective and I would say very worthwhile.

    Validating source documents against your XSD/DTD at runtime could be considered overkill (and could just throw any performance you were hoping to have out of the window)

    My opinions are purely that, and are based on working on a very large multi component XML system that I've been involved with the design of for the last year or so.

    --
    RatArsed