Converting SGML DTDs to XML

Not quite to XML DTDs, but close enough to be useful.

I recently had to analyze a large batch of SGML DTDs for a client who planned to convert their publishing system to XML. I was mostly looking for redundant declarations in multiple DTDs that could be pulled into shared modules, but I also wanted some lists of elements and attributes that I could compare against statistics compiled about sample data so that I could see which elements and attributes were actually being used, because there’s not much point converting SGML declarations for…