LiveDTD
[October 10, 2000] LiveDTD Hypertext Tool for DTD Visualization. Bob Stayton recently announced the availability of a 'LiveDTD' tool. LiveDTD is a perl program which converts an SGML/XML Document Type Definition (DTD) into a hypertext document. It parses the DTD files and generates a copy with HTML markup inserted. The result is the exact same text of the original DTD, but with live links that let you navigate through the DTD. Click on a name, and you are transported to where that name is declared in the DTD. Both elements and parameter entities are hot linked. For a simple DTD, this may not be very useful. But for complex DTDs like DocBook and TEI that use hundreds of elements and parameter entities, it's a great help. . . If you have ever worked with a highly parameterized DTD like DocBook or TEI, you know how much the indirection makes you jump around in the DTD to find where something is really defined. It gets worse if you add a customization layer, because then you have more than one declaration for the same name. You have to track down the 'live' one through the marked sections and customization modules. This program does that for you. In fact, I originally wrote it to keep from going crazy managing a customization layer for DocBook. Principal features: (1) Frames-based interface makes navigating easy since active names are listed in the left column. (2) Works with any XML or SGML DTD, in a single file or spread over multiple files. (3) Can use a catalog file to resolve PUBLIC or SYSTEM identifiers. (4) HTML version is an exact replica of the text of the DTD, preserving spacing, line breaks, and the multiple files (if any) of the original. (5) Respects marked sections, including those whose status keyword is a parameter entity. It only enlivens those marked sections whose status resolves to INCLUDE. (6) If a parameter entity name is declared more than once, only the first instance becomes live. (7) Marks the name in each live declaration in red. Marks all live references as hot links to the declared name. (8) Generates usage tables for element names and parameter entity names that shows all the locations where each name appears in the DTD. (9) You can specify the output directory to write the HTML files to, and a prefix for all the filesnames. That lets you put more than one version of a LiveDTD in one directory without filename conflicts." The latest DocBook DTDs (converted) are also available for download. See the documentation and download page.
Prepared by Robin Cover for The XML Cover Pages archive.