http://www.informatik.tu-darmstadt.de/DVS1/staff/bourret/xschema/dtdtoxschema.ht
ml
This is a SAX parser that parses a DTD and generates SAX XSchema events.  Also 
included is a small SAX application that prints these events to a file, so you 
can easily convert your DTD files to XSchema files.
A few major caveats (see the Web page for minor caveats):
* NO ENTITY SUPPORT.  I'll try to get this in next week, but what it means right 
now is that you have to replace entities with actual values before running them 
through the converter.
* STANDALONE DTDs ONLY.  For the moment, the converter only reads standalone 
DTDs (which match the production extSubset).  The only real effect is that you 
can't have (namespace) PIs in the external subset.  Is there any reason to 
support DTDs in the instance file?
* SPEC.  This supports the latest version of the spec, which will probably be 
outdated by Monday.  Note that the reverse converter (XSchemaToDTD) has not been 
updated for the latest version of the spec, so those of you wanting to chain 
them together will just have to wait.
As usual, send your bugs and other abuse to me at 
rbourret@dvs1.informatik.tu-darmstadt.de.  Have fun!
-- Ron Bourret