「このレイアウトDITAでできますか?」

前から会社で話題になるときがあるのですが、DITAの導入でお客さんからやはりこう聞かれることがあるのだそうです.でもたぶん営業の人は一瞬答えに窮してしまうでしょう.何故でしょうか?

まずDITA自身はOASISが定めたオーサリンアーキテクチャです.その名の示すようにDITAはDarwin Information Typing Architectureです.ということは、物事をXMLで表すルールを定めています.なのでそれ自身はスタイルの情報を基本的には持ちません.基本的にはというのは、例えばスタイルと言えばtableの列幅を指定するような<colspec colnum="1" colwidth="2*" align="center"/>なんていう指定も出力スタイルの一つと考えられるからです.XMLの潔癖主義の考え方からすれば、こういうのもダメという議論がありますよね.しかし、まずこれらの例外を除けばスタイルの情報はありません.

ですから「このレイアウトDITAでできますか?」は実は「このレイアウトDITAとその処理系でできますか?」が正しい問い、というかお客さんの真意なのではないか?と考えられます.

ここで処理系はDITA-OT(DITA Open Toolkit)や、そこに組み込まれたプラグイン、そしてPDFを生成するためのXSL-FOという総体になるでしょうか?単にレイアウトだけ取ってみれば、XSL-FO 1.1ではかなりのことが出来ます.ですから、「このレイアウトXSL-FOでできますか?」に問いを置き換えてみると「かなりのところまで出来ます」という返事になるはずです.

ところがいくらXSL-FOで出来ても、それはスタイルシートでDITAをXSL-FOにうまく変換できなければなりません.そしてうまく変換できるか否か?は、実は元のDITAにそれが可能になるようなオーサリングが出来るのか?ということとずいぶん関係がある問題となってきます.

なので、「このレイアウトDITAでできますか?」という問いはなかなか奥が深くて、しっかりとした分析が必要とされる問題です.

あと「このレイアウト」といった場合、そのレイアウトは多くがFrameMakerやInDesignなどのDTPで作られている場合があります.これらで出力を得る場合、XMLを流し込んでスタイル付けしてという場合もあるようですが、旧来はそのまま作ってしまっていたようです.(多言語翻訳を考えると大変な手間ですね)

でこれをDITAに載せようと考えた場合、「レイアウトの再現」から入ってゆくと迷路にはまり込む場合が多くあります.それは何故でしょうか?DITA以前のこのようなパブリッシングは、まずDITAが持っているトピックベースの構造には到底当てはまってくれないからです.(これをレガシーコンテンツと呼びます.)例えどのような著名企業の技術文書でも、このことを免れることはできません.なので、「レイアウトの再現」のためのDITAでの表し方を追ってゆくとまず迷路にはまり込みます.

本当のDITAの導入は、まずコンテンツの分析から始めるのだ!と考え直すと解決の糸がほぐれます.そのパブリッシングの読み手は誰なのか?その読み手は、何をするのか?それはタスクでどのように表されるのか?そのタスクを遂行するために必要な概念(コンセプト)と参照情報(リファレンス)は何があるのか?をパブリッシングの全体に渡って分析します.この作業を通じてできるタスク、コンセプト、リファレンスをマップで束ねるのがDITAのやり方です.

たとえDITAの前がXMLであっても、このような情報の構造化というのはなかなかなされてこなかったのではないかと思います.例えばDocBookであっても、よくよく読んでみれば書き手の都合でダラダラと記述が並んでいるだけ、あげくのはてに山ほどのxrefというのは決して珍しくはありません.

なのでDITAの導入と言うのは単に器の入れ替えではなく、コンテンツの再構築と再利用の推進の「運動」ととらえることが出来るのではないかと思います.これが「このレイアウトDITAでできますか?」というお客様の思考から抜け落ちていると、それは昨年11月に東京で開かれたDITA Festaの発表で出てきた造語の「なんちゃってDITA」にしかならないのではないか?と思います.残念ながら「なんちゃってDITA」では決して望んだ成果をあげることはできないでしょう.