DocBookのDTD表示

先日DocBookのDTDを見せていただく機会がありました.DTDというのは簡単な構造だったらそのまま見てもなんとかなりますが、DocBookクラスになると、直にDTDを見ているととても理解するのに大変です.ましてやたいていの場合DocBookのDTDをそのままで使うことはなく、自分の目的に沿うようにカスタマイズしています.そうするとあっちを見たり、こっちをみたりしなければならずと、とてもついてゆけません.

以前あるお客様のDTDをカスタマイズする仕事をやっていたとき、そのカスタマイズしたDTDを納品すると専用のツール(?)で構造がわかるHTMLに落としてくれて送っていただきました.DTDJavaDocのように見られて大変便利.スタイルシートの開発には手放せない存在でした.

でも手元のoXygenにはDTDからHTMLドキュメントを生成してくれるようなツールはついていません.どこかにそのような便利なツールはないものか探したのですが、sourceforgeにありました.

DTDDoc - DTD Documentation Tool

本家そのままのDocBook DTDでしたら、以下のようにバッチリHTML化してくれます.

イメージ 1


これで行けるかと思ったのですが、いざターゲットのDTDを試してみるとあえなくこけてしまいました.

イメージ 2

どうも昔の4.xのバージョンのDTDは通ってくれないようです.しかたがないので類似のツールを当たってみたのですが、どれも古すぎたりしてまともに動いてくれません.

そこでもしかしたらDTDXML Schemaにしてくれるツールがあればと考えて当たってみたのが以下の著名なJames Clarkさんのツールです.

Trang - Thai Open Source Software Center Ltd

これを次のようなコマンドラインで動かすと一発でXML Schemaを生成してくれます.

java -jar trang.jar sample.dtd sample.xsd 

あとはこれをoXygen XML Developerで開いて、Tools-Generate Documentation-XML Schema Documentationを選べば、oXygenのXML Schema表示とほぼコンパチのHTMLを生成してくれます.

イメージ 3
(ちなみに画像は本家本元のDocBookのDTDをXSDに変換してoXygenでHTMLに落としたものです.)

大変助かりました.やはり持つべきは優秀なツールですね.