DITAの導入に向けて
はじめに
はじめに
DITAは、整合性のとれたコンテンツ作成、および、そのコンテンツの再利用性を高めるためのXMLベースのデータモデルです。DITAを採用した場合の「バラ色の世界」については、いろいろと語られており、その可能性については理解が進んでいると思います。しかし、いざ導入を考えた場合、どのような知識が必要なのか、また、既存データの移行がうまくいくのかなど分からない点が多いのではないでしょうか。
ここでは、そうした実装上の気がかりな点について説明していきます。
まず、「DITAについて」では、DITAを採用することに関して2つの側面を示し、DITAを採用することで何が実現できるのかについて説明します。この中で、DITAを採用することによって得られるメリットにはレベルがあることを理解していただけると思います。次に、「実装上の悩ましい問題」で具体的な問題に言及します。最後に、今後の課題も含め、簡単にまとめます。
ページトップへ
DITAについて
DITAについて
DITAを採用することには2つの側面があります。
1.コンテンツの書き方としての側面
教科書通りに言うと、コンテンツを concept、task、reference といった情報の単位で作成していく必要があります。これは既存ドキュメントから共通部分を抜出して、concept、task、referenceにすればよいというほど簡単な話ではありません。一般的に、既存ドキュメントはこうした構成になっていないためです。
この構造に落とし込んでいく過程が既存データ移行の手順になります。
2.システムとしての側面
いわゆる「バラ色の世界」として語られる内容です。DITAに従ったコンテンツがあれば、DITA対応のシステムを導入することでコンテンツの再利用性が高まり、効率的に質の高いコンテンツを提供可能になります。
何ができるのか
確かにDITAを利用することでいろいろメリットを享受することができます。ここでは、次の3つに絞って何が実現できるのかを簡単に説明します。
map
map は出力の構成(印刷物の「本」の場合は構成(目次))を決めるものです。
DITAでは、topic (HTMLヘルプの一項目のような1つの情報のかたまり)という単位でコンテンツを作成し、これをmap で階層構造化して出力物(PDF、Webコンテンツなど)を作成します。そのため、同一の topic 群から異なる構成の出力物を作成することができます(「詳細な説明書」と「簡易操作手順書」など)。
conref
conref を使うと topic の一部分だけを参照することができます。
たとえば、すべてのドキュメントにわたって共通している注意、警告などの項目を一元管理し、その中の「注意」や「警告」を参照することができます。こうすることで、すべてのドキュメント中の全ての「注意」、「警告」を同一表現に保つことが可能になります。
conditional processing
同一のtopicから指定した条件に一致したコンテンツだけを処理することができます。
たとえば、1つの topic に初心者向けと上級者向けに補足情報を追加しておき、出力時(PDFあるいはWebコンテンツ生成時)に初心者向け補足情報のみを残し、初心者向けのドキュメントを生成することができます。このtopic に修正が発生した場合、初心者向けの補足情報も上級者向けの補足情報も1つのtopicに含まれているため整合性のとれた修正ができることは大きなメリットです。
以下、図を使って補足します。
左端に様々なドキュメントにわたって共通して使われる「メモ」、「注意」、「警告」をまとめている
topic があります。中央には3つのtopic (topicA、B、C)があり、topic B にはレベルに特有の補足情報が含まれています。また、topic B と topic C は、左端の「警告」を参照(conref)しています。map は、2種類あり map1 は、topic A と topic B から、また、map2 は topic B と topic C から構成されています。右端には、条件1-3によって処理(conditional processing)された結果(たとえばPDF)が示されています。条件1、3は、初心者向けの補足情報を、また、条件2は上級者向けの補足情報を指定しています。
この図から、内容の整合性が保たれた topic 群からいかに多様な出力結果が得られるかが理解していただけると思います。ここで、注意していただきたい点は、この仕組みには各 topic の詳細な記述規則にはほとんど関係していないという点です。つまり、既存コンテンツを concept、task、 reference に正確に落とし込めなくても、既存コンテンツにわたって共通する部分を抽出できればこの仕組みを活用し、メリットを享受できるということです。もちろんDITAの書き方という側面も取り込めれば、より繊細な conditional processing を利用したり、より細かな単位で共有・再利用が可能になります。
このように、DITA導入の効果は、コンテンツを concept、task、reference で記述できなければ得られないわけではなく、お客様の現状にあったレベルでの導入をすることによって十分にその効果を得ることができます。
ページトップへ
実装上の悩ましい問題
実装上の悩ましい問題
ここでは、DITAを導入しようとする場合に頭を悩ます「DITAの何を知ればよいのか」、「既存データの移行をどうするのか」について触れたいと思います。
DITAの何を知ればよいのか
DITAの詳細については、それほど知っている必要はありません。ユーザの立場であれば、ツールの使い方を覚えればDITAの具体的な記述ルールなどはまったく知る必要はありません。たとえば、「何ができるのか」で示した、map、conref の記述例はそれぞれ
ですが、こうしたタグ・属性などの煩雑な記述を理解する必要はまったくありません。ユーザにとって必要なのは、ドキュメントの目次を作成するにはmapを使えば良いこと、また、社内では注意・警告は共通要素として登録されているのでドキュメントに注意書きが必要な場合は、参照利用できることを知っていることだけです。あとはツールの使い方を覚えるだけです。
例として、Arbortext Editor を使った場合の "conref" 利用を見てみます。
上の画面では、conref を使って「Note」を参照しようとしています。参照先は、hazardstates.dita の中にありますが、その様子が「リソースマネージャ」パネルに表示されています(参照可能なnote は3種類あります)。操作は、参照する note を選択するだけです。このように、煩雑な conref 記法を意識することなく MS Word で画像を挿入するのと同じような操作で参照を設定することができます。
既存データの移行をどうするのか
すでに述べたように、一般的に既存ドキュメントは、そのまま concept、task、reference に落としこめる構造にはなっていません。そのため、既存データの移行については移行期用の構造として、特殊化前の topic を利用する、あるいは、全てを task に落とし込むなどで対応します。具体的な方法については、それぞれのドキュメントの構造・内容によって異なりますが、重要なポイントは、こうした方法によって既存ドキュメントをDITAのシステムに載せることができること、従って、すでに述べた整合性の取れたコンテンツ作成、および、コンテンツの再利用性向上などメリットを享受できるということです。
ページトップへ
まとめ
まとめ
本稿では、DITA導入に際して頭を悩ますであろう点に関して、それほどハードルは高くないことを示してきました。すなわち、
- DITAについての詳細な知識は必要ない(ツール操作を覚えればよい)
- 既存ドキュメント移行は段階的に行えばよい
です。
コンテンツの記述が、完全に concept、task、reference に落し込めなくても、DITA対応のシステムを採用することで整合性のとれたコンテンツ作成やコンテンツの再利用性を高めることができます。また、システム導入後は、システムに変更を加えることなくコンテンツの質を上げていく(concept、task、reference で記述できるようにしていく、あるいは、さらに進めて特殊化していく)ことが可能です。このように段階的に導入できるという点はDITAの特徴であり、実装上は極めて重要です。
今後、DITA対応のツール、あるいは、システムを評価する時、DITAのシステムとしてではなく、「整合性のとれたコンテンツ作成やコンテンツの再利用性を高めるアプリケーション」として検討していただきたいと思います。
なお、本稿では、翻訳には触れませんでした。翻訳支援ツールやそうした機能を持ったDITA対応のツールなども利用できるようになってきました。この問題については別途情報提供していきます。
ページトップへ