Of course, it has limitations. It is trying to induce
general rules from one example. But I've found it useful in
a number of contexts:
* you can use it to produce a "first cut" DTD which you can
then refine by hand
* you can construct an XML document that exhibits as many
structural features of your document design as possible and
then use DTDGen to generate something close to the "true"
DTD
* you can use it to gain an understanding of the structure
of XML documents that have been published without a DTD (an
example being the XML specification itself)
This is homespun software not a professional product, use it
accordingly. You can download it from
http://home.iclweb.com/icl2/mhkay/dtdgen.zip
You will need an XML parser and SAX 1.0 driver (and of
course a Java 1.1 environment). The download includes java
source and class files (copy these to your classpath) and an
HTML document explaining what it does and what it doesn't.
Let me know of any problems.
Mike Kay