InDesign と XML(6)-XSLT-

InDesignXML の6回目。
XSLT は、XML 文書を別の XML 文書(やその他の形式)に変換する言語であり、XSLT 自体 XML の文法に従っているという、理論的には魅力的な仕様となっている。
XSLT を処理する XSLT プロセッサは、無償で使えるものもあり、Java などのプログラミング言語からも使える。
よって、XSLT を使うのに InDesign に頼らなくても良いのだが、InDesign にも XSLT を処理する機能が備わっている。
InDesign における XSLT の使い道であるが、例えば、XHTML 形式のソースファイルを InDesign 用に自分で定義した XML 文書に変換することが考えられる。
InDesignXSLT を使うには、XML 文書を読み込む時の読み込みオプションで「XSLT を適用」を選択して、「参照」から XSLT ファイルのある場所を指定する。または、XML 文書の中にスタイルシート処理命令を書いておいて、「XSLT を適用」で「XMLスタイルシートを使用」を選択すると、スタイルシート処理命令の href に書かれた URIXSLT ファイルの場所として指定される。
すると、XSLT が適用されたものが読み込まれる。
構造ウィンドウメニューの「XML を書き出し」または、[ファイル]->[書き出し]から、構造ウィンドウに存在する XML 文書を書き出すことが出来るので、XSLT が適用された結果を出力して確認することが出来る。
XSLT は、ある意味、意欲的な仕様なのだが、生産性という面では疑問を感じるところもある。全ての変換を XSLT でやろうとすると、超絶技巧になってしまう。XML を扱う技術は XSLT 以外にもたくさんあるので、 XSLT を使った方が簡単な部分は XSLT を使い、それ以外の部分は他の技術を使うのがベストプラクティスではないかというのが、私の感想である。