本記事は、アーカイブに保存されている過去の記事です。最新の情報は、公益社団法人日本印刷技術協会(JAGAT)サイトをご確認ください。
加藤氏: DITAコンソーシアムで、DITAパンデミック部会と事務局に所属している。依田氏がDITAの概念的、コンセプト的な話をしたので、これから1個のコンテンツを実際に作り、それを多国語化し、EPUB化してiPadの上で閲覧するプロセスを実践してみたい。
■DITAの制作スタイル
ある文書を作るとき、これまでのありがちな文書制作は、一刀彫りのように作っている。石塊を頭から彫り落とし一つの塊としての彫刻作品を作る。職人がライターで、作品が文書である。塊としての文書なので、ある部分をどこかで再利用したり、彫刻を何人かで同時に作っていくことはあまり考えない。新しい文書を作るときは、再度、頭から彫り込んでいき、また新しい塊としての文書を作る。
したがって、部品としての使い回しは利かないし、制作スタイルは「はじめに」から「終わりに」までシーケンシャルに行く。途中から書くことはあまりなく、様式や体裁は職人任せである。
しかし、DITAはそうではない。いきなり作るのではなく、最終形がどういうパーツからできているかをはじめに設計する。
その後、パーツを同時並行的に各ライターに書いてもらう。これは頭と土台を同時に書き始めてもいい。できたところからためていき、最終的に構成情報に基づいてアッセンブルし、塊ができる作り方をする。
したがって、書くこと、それをレビューすること、承認すること、さらに翻訳することがこのパーツ単位で独立してできる。同時並行で制作ができる点がメリットととなる。
かつて作ったパーツを新しい文書を作るときやその文書をバージョンアップするときに、使えるものは流用することができる点もメリットである。
設計者は、文書の中に何があるかをよくわかった上で、文書構成をするだけである。この構成の設計情報
がマップであり、一つ一つの具体的な文書の塊がトピックである。
このコンテンツは誰が読むのか。その人は何を求めていて、最終的に何をしたいのか。そのためには何が必要か。読者メリットを考えて、どんなコンテンツが必要かをじっくり練り、文書構成を設計する。DITAでのマップを作り出す。
構成ができたら、一つ一つのパーツであるトピックを書き始める。したがって、最初の文書作りのマップがかなり重要である。
コンテンツができたら、ユーザが、読者が、どういうスタイルで見るのが一番うれしいのか。PDFで見るのがよいのか、Webからヘルプ的に見たいのか。ここで制作したものはワンタッチでさまざまなフォーマットに変換できるので便利である。
このコンテンツは次に新しい文書を作るとき、うまく使い回して再利用することができる。
再利用するためにDITAでどんなことができるか。
具体的に、日本語の「お好み焼きマニュアル」を作成して紹介したい。
さらにこれを翻訳する。ロシア語や中国語に対応したレシピを作る。これが多国語展開である。
そして、手軽に調理場で見ながら料理することを考え、EPUBを使い、iPadの上で閲覧できるようにする。
(図1)(図2)
▲図1
▲図2
■文書構成の設計
DITAはマップの設計、文書構成の設計で重要なことが3つある。
まず、どういう情報タイプのコンテンツで作るのかを意識して文章を設計する。
さらに、DITAはタスク指向、実践指向である。ユーザが目的を達成するために、それが支援できるように文書構成を意識する。
それから、再利用を意識したコンテンツ設計を意識しなくてはいけない。
まず、DITAでは伝えるべき情報の性格、特性に応じた、情報タイプ(topicのタグセット、DTD)が用意されている。
Generic topic(汎用的な情報)、concept topic(概念説明)、task topic(手順、手段)、reference topic(コマンドやAPIなどのリファレンスコンテンツ)、glossary topic(用語集)の5つがメインである。
なぜ情報タイプがあるのか。概念の説明、物事の説明と、具体的な処理の手順を同時に書かないのがDITAの1つの鉄則である。DITAはタスク指向、ユーザに何かをさせる、何かのゴールに至らせるのがメインなので、これをなるべく速やかにしてもらう必要がある。
したがって、手順は手順だけの行為のコマンドの羅列だけを書く。手順の中に概念説明を盛り込むと、ユーザメリットにならない。しかし、全然知らないと何もできないので、概念説明は概念説明コンセプトのトピックに固めて書く。
それらのトピックをどんな順番でユーザに示すか。ユーザの好みに合わせてどのように選択するか。情報タイプを敢えて分けて、マップで上手に設計することでユーザメリットを考えている。
したがって、書き手も大変である。書くべき情報がタスクなのか、コンセプトなのか、リファレンスなのか、一度棚卸しをしなければいけない。その後、コンセプトならコンセプトトピック、タスクならタスクトピックで書いて、混在しないようにする。
書き手にとってはここが苦労である。これまで文脈で書いてきたような書き方をしていた人にとっては、情報の棚卸しをしなければいけないのが苦労である。ただ、読者にとっては手順が知りたいなら、手順を示すタスクを読めばいいし、物事の説明、用語の説明を読みたいなら、コンセプトトピックを読めばいいので、ユーザにとっては自分が欲しい情報が適当な範囲でゲットでき、そこで解決できるメリットがあり、理解しやすいマニュアルになる。
コンセプト、タスク、リファレンスのトピックタイプがあり、ある行為をするためにはタスクトピックが一番重要だが、その前に最低限知らなければいけない前提となる知識がある。
例えば、お好み焼きの作り方を説明するタスクトピックを読む際に、お好み焼きとは何か、その前提知識を知らない人のために、その前提情報、条件をコンセプトトピックの中にまとめて書いておく。
さらに、テンポラリー的に必要に応じて参照したい任意情報は、まとめてリファレンストピックのタイプで書く。こうした流れになっている。
■「広島風お好み焼き」のレシピをDITAで作成
コンテンツを作るときは、一番メインの料理手順はタスクトピックで、お好み焼きの概念説明や前提となる基本情報はコンセプトトピックで、材料情報はリファレンストピックで、さらに、必須ではないがあればおもしろいもの、補足情報はグロサリートピックで書こうなど、まず構成を作る。
何がメインで、その周辺情報は何かを一度棚卸して、それぞれの情報の性格に適するトピックタイプを使って書く。
書くにはエディターがある。DITAオーサリングツールには、マップのエディティングをする部分と、マップ1つのトピックをエディティングする部分がある。
DITAはXMLなので、トピックの中にいろいろな要素や属性を組み込むことができる。
DITAのエディターを使い、マップを新規作成する。マップのタイトルを求められるので、「広島風お好み焼きの作り方」と付けた。このタイトルが最終的には文書の表紙のタイトルになる。
タイトルの下に「トピックの参照」として、マップ組み込んでいくトピックを挿入して作る。トピックの中身はライターに出せばいいので、中身をこの段階で作る必要はないが、どんなトピックでお好み焼きの作り方を構成するかは、マップの設計者、ディレクターや編集長が考える。
まず「広島風お好み焼きの調理手順」は必須だろう。何をするのかがわかりやすいトピックタイトルを付ける。この段階で「広島風お好み焼きの調理手順」のトピックのファイルを作っておく。
このとき、コンセプト型、タスク型、リファレンス型の何型のトピックかを聞かれる。この場合はタスク型を選ぶ。中身が空のまま保存し、1つのトピックファイルができる。こうして設計する。
次に、調理手順をする上での前提事項、概念説明を「広島風お好み焼きとは」としてタイトルを付けた。これはコンセプト型である。
さらに材料説明を「広島風お好み焼きの材料」のタイトルとし、これは任意情報で、リファレンストピックにしてファイルを作る。
このようにタイトルだけのトピックファイルを作り、設計していく。これで自動的にDITAのタグが付いている。タイトルだけのトピックが存在し、一番シンプルなトピックの形ができる。
「広島風お好み焼きの調理手順」を見ると、コンセプトがルート要素であり、それを開くと要素はタスクになっている。タスクトピックを作ろうとしたので、タスクがルート要素になり、タイトルが同じでタスクボディになる。このボディの下にステップがあり、ステップの要素の値を書かせようとする。さらに一番最初に手順を書くことが求められる要素になっている。
「お好み焼きとは」の概念説明は、パラグラフを書くことが求められる。情報タイプによって求められる要素が違うので、ライターは求められるとおりに書けば、
誰が書いてもコンセプトはコンセプトらしく、タスクはタスクらしくなる。どういう構造でどういう内容が書かれるかが決まっていくところが、DITAのおもしろいところである。
マップの設計者は中身は書かないので、どういう順番にしたらいいかを考える。調理手順は最初がいいのか、前提情報を読んだ後に調理手順に入るのがいいのか。それとも調理手順の前に、材料を知ってもらほうがいいのか、トピックの順番を変えて動かしながら、文書の構成を設計する。読者にとって一番理解ができるのはどのパターンかを設計していく。
お好み焼きの材料を料理手順の一部にするときは、親子関係にして階層を作り、料理手順の子どもとして材料の説明を関連づける。トピックは並列ばかりでなく、階層を作り、親子関係にしたり、グルーピングすることもができる。これがマップの設計である。
このとき、ディレクターは「広島風お好み焼きとは」のタイトルと情報タイプだけを決める。このトピックをA氏に書いてもらうとき、A氏はマップを見て、全体の中のどのトピックなのか、その位置ががわかった上で内容を書く。あるいは、ディレクターからA氏に中身を明確に指示するなら、ショート・ディクリプションに結論やテーマの簡潔な表現まで書いて、各ライターに渡す運用もあり得る。
分業制作で役割をしっかり決める。その上で、それをコンテンツに型として落としながら、文章を作っていく。これがDITAの制作スタイルである。(図3)
▲図3
ライターは、ディレクターから「このトピックを書い欲しい」と言われれば書かなければいけない。コンセプトトピックにはタイトル、概要があり、このトピック自体のメタ情報が書ける。その下にはセクション、段落、リストを書いたり、セクションの下にはまたセクションのタイトル、段落を書く。一般的な文章の基本的な構造を持っている。
ここで重要なことは、セクションの中にまたセクションを書くことができない。コンセプトの中にセクションを作り、その下にタイトルを作る。この2階層はトピックのイレコになるが、このセクションの中に、3階層目は書けない。DITAは、いたずらにトピックの中に階層を作ってはいけない。
もっと深い階層を作りたければ、トピックを分けてマップで階層を作る。各トピックはなるべく平明なものを作ることがルールである。(図4)
具体的に基本情報を見ると、ワープロで書いたようになるが、ここには自動的に然るべきタグが付けられている。あるいは、何か新しいタグを付けるときは、段落、ノート、引用文、箇条書きリストを書くなどを選び、新しい構造、要素を増やしていけばいい。(図5)
こうして書いたものが最終的なコンセプトトピックになる。「1、2、3」の箇条書きはタスクトピックである。箇条書きのように1つ1つのステップを書いていく。
ステップ1、ステップ2とあり、「生地を焼く」のコマンドの下にサブステップが書かれている。これをさらにブレイクダウンすると、A、B、Cのサブステップがある。しかし、この下にはサブステップは作れない。手順の階層もここまでである。あまり階層を深くしないことが重要である。(図6)
▲図4
▲図5
▲図6
今回の例では表的なものをリファレンストピックの中に組み込んでいる。(図7)(図8)
そしてタスクトピックを書く。タスクトピックは、コンセプトトピックの構造と比べると少しこだわりが見える。タスクとはルートだが、タイトルやショート・デスクリプションは、コンセプトトピックと同じである。しかし、タスクの本文の中に必要条件があれば、この要素を使って書く。
それから、このタスクがなぜ必要なのか、その背景情報があればこの要素を使って書く。タスクをした後に期待される結果が何であるかを書いておくといいので、結果を書くための要素がある。最終的に、このタスクの一連のステップが終わった後に、必要な確認内容があれば、事後確認のための要素があるので、これを使って書く。
ステップの中に、明快な指示とこの指示を行うことによって期待される結果を別の要素で分けて書く。きめ細かく要素で分けるのがDITAのタスクトピックの特徴である。
ライティングは何かの処理手順を書くためにたくさんの鋳型が用意されていて、その中に内容をはめ込む作業、仕分けをする。「挿入」を選択して、「セクション」「タスクの必要条件」「背景情報」「結果」と、タスクの前後に書くべき要素がたくさんある。ステップのコマンド、そのステップに付属する情報、その結果があれば書く。(図9)(図10)
結果を書こうと思ったら、「結果」をクリックし、「ステップリザルト」にどんな結果がもたらされるかを、書く。そして、個別の情報を入れたいなら、「情報」に補足情報を書き、「インフォ」要素で入る。さらに、メモとして、特に重要なのはヒントとして、コマンドのインフォ情報の中に「ノート」要素を組み込んで書く。
要素を見極めながら、どこに書くのが一番いいのかを考えながら書く。事後処理に書いたほうがいい場合はプレリクエスト要素に書く。
プレリクエストを選ぶと、この要素の性格が最終的に確認すべき内容を書くものなので、カーソルがどこの位置にあろうが、プレリクエストを選ぶと最後の位置になる。
▲図7
▲図8
▲図9
▲図10
■DITAで各種の出力形式に変換
DITAはオープンソースのパブリッシング用ソフトウエアDITA Open Toolkitが公開されている。無償で使えるので、DITAコンテンツをさまざまな出力形式、PDFやHTMLなどに変換できる。
作成したトピックを「出力を生成」で、HTML化してみると、エディターがOpen Toolkitに引き渡して、Open ToolkitのほうでDITAのXMLをHTMLフォーマットに変換する。同じものをPDFに変換するときは、処理が大きいので、少し時間がかかる。
ディレクターは、DITAマップの生成をする。するとOpen Toolkitはマップで使われているトピックをかき集めて一つの大きなXMLに合体する。それぞれ変換に必要な属性を自動的に付けて、フォーマッティングオ
PDFを作り出す。したがって、DTPをやる必要はない。
もちろん、アウトプットされたこのスタイルが気に入らなければ、スタイルシートを改造して、自分の気に入ったスタイルにすればいい。
マップのタイトルが自動的に本の表紙になり、マップの構成がそのままトピックの栞の構成になる。目次やページングも自動的に行われる。目次の表題はトピックのタイトルが想定される。
索引、ソート文字、何ページ目なども自動的に作られる。
要素を振れば、自動的に成形されてアウトプットされる。これがXMLパブリッシングの基本である。
(図11)(図12)
▲図11
▲図12
■文書コンテンツ再利用のための設定
一番重要なのは、一度作ったコンテンツを再利用できる仕組みがあることである。
コンテンツを比較的小さな単位、トピックで作るのは、それを他のところで利用したいからである。物作りはなるべく部品を標準化し、その部品をいろいろな製品に使い回すものだが、まさにそれである。
いろいろな流用の仕方があるが、今回は広島風お好み焼きを作ったので、新たに「関西風お好み焼きの作り方」を作るとき、既に広島風お好み焼きのコンテンツがあるので、それをなるべく流用して作る。
1つはマップから既存のトピックを流用する。大体同じトピックなので、マップから既存のトピックをリンクして流用する。
あるいは一部を流用する方法で、「お好み焼きとは」の段落は、広島風お好み焼きの概念説明のトピックに流用できる。
元になっているパラグラフ、セクションの範囲にIDを振り、引っ張りたいところへ、IDを「セクションのコンレフ」の属性に付けておけば、自動的に、内容が引用される。
したがって、警告文、注意文、製品名などは、なるべく1つ共通の塊を作り、それをコンレフ属性に放り込めば、共通化して使うことができる。大元を変えれば、流用したものは一斉に全部変わるので、これはよく使う。IDをそれぞれの挿入先に引用すればいい。
それから、材料のトピックも広島風と関西風はほとんど変わらないので、両方で使えるようにタイトルは2つに分けて書き、各フレーズ要素を付けておく。
相手によって内容を変えて、どちらを使うかを振り分けておきたいときは、各要素に対して属性を付けて区別すれば、流用できる。
DITAは誰もが同じ仕組みを使えば、同じ操作ができるし、いろいろな再利用の工夫ができる。以上がDITAの制作スタイルの本質である。
■DITAコンテンツの多言語化
並木氏:お好み焼きをロシア人や中国人が作るかもしれないので、多言語化を考えてみたい。
多言語にするとき、キーワードになる言葉は機械翻訳と翻訳メモリの2つがある。
機械翻訳サービスはGoogleのサイトでフリー提供されている。URLやテキストなど日本語で作ったページを貼り付けると、自分の求めている言語で表示される。ただ、どれほどの正確さなのか、これをうまく使うことが1つポイントとなる。
翻訳メモリは過去の翻訳を再利用するための仕組みである。XMLのコンテンツはそのまま翻訳することができない。そのまま翻訳するとタグを壊してしまうことがあるので、今回は最新のツール、トラドススタジオ2009を使う。
実際にファイルを読み込むとプロジェクトがどういうふうに管理されているのか、プロジェクトビュー画面でわかるようになっている。
たくさんの言語を管理するとき、1つのプロジェクトの作成で、全ての言語を管理できるメリットがある。
日本語のコンテンツが用意されているとき、オートメーション翻訳、機械翻訳で、「検索しています」メニューで、いろいろなところに探しに行く。翻訳メモリの中を検索すると同時に、今回はGoogleとSDLのランゲージウィーバーの機械翻訳ツールを使って、どんな翻訳が世の中にあるかを探していく。そして、翻訳していき、最終的に出力すると、ロシア語の場合は、ロシア語のコンテンツを生成している。
このように適正な環境があれば、多言語への展開は迅速にできる環境が整ってきている。翻訳メモリツールを使って、いかにして多言語を進めていくかがキーになる。
2011年5月31日テキスト&グラフィックス研究会「電子書籍時代のマニュアル制作とDITA to EPUB」より(文責編集)