This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

a handy DTD utility


If you work with complex DTDs, then you should take a look
at LiveDTD, the free utility program I'm making available
today at:

  http://www.sagehill.net/livedtd

LiveDTD is a perl script that turns the text of a DTD into a
hypertext document. It parses the DTD files and generates a
copy with HTML markup inserted. The markup enables you to
quickly browse the DTD by following links. It works with
both XML and SGML DTDs.

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.

It is easier to demo than to explain, so try cruising the
live version of Eve Maler's DTD for the XML Specification
at:

  http://www.sagehill.net/livedtd/xmlspec

Click on an element name in the left frame and it jumps to
the declaration. Follow the links in the content models to
other names. Click on the "+" next to a name in the left
column and see where that name is used in the DTD.

Browsing DTDs this way over the internet can be slow because
DTD files that are big get even bigger when you add HTML
markup. I recommend you go to the downloads page and
download the converted DTDs for local browsing. Better yet,
download the program itself to run on your favorite DTD.
Especially if you have a customization layer.

Please send all suggestions and bug reports to me at my home
email address.

Bob Stayton
bobs@sagehill.net







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]