Darwin Information Typing Architectureの紹介

ポータブルな技術情報に向けて

Darwin Information Typing Architecture (DITA) は、技術情報のオーサリング、生成、および配布に使用する、XMLベースのアーキテクチャーです。この記事では、このアーキテクチャーを紹介し、トピック・レベルで情報タイプの付いたモジュールを作成したり、そのコンテンツをオンライン・ヘルプやWeb上の製品サポート・ポータルなどの配布モードで使用したりするための一連の設計原理を示します。この記事の役目は、Darwin Information Typing Architectureへのロードマップであり、DITAがいったい何であるか、またDITAはどのように技術文書に適用されるかを示します。また、代表的なソース・コードにリンクされています。

Don Day, Lead DITA Architect, IBM

Don Day は、IBM の Information Development コミュニティー向けの公開ツールの設計・サポートを行っており、また W3C の XSL ワーキング・グループと CSS ワーキング・グループでは、IBM の代表でした。この 3年間は、DITA の DTD と仕様の開発と維持管理を行うワークグループのリーダーを努めています。英語とジャーナリズムで学士号を、また技術的/専門的コミュニケーションで修士号を、ニューメキシコ州立大学で取得しています。



Michael PriestleyIBM Corporation

Michael Priestley は、IBM Toronto Software Development Laboratory の情報開発者です。彼は、ハイパーテキスト・ナビゲーション、シングルソーシング、および動的文書へのインターフェースなどの主題について、多数の記事を書いてきました。現在は、ヘルプおよび文書管理用 XML および XSL に関する作業をしています。



Dave Schell, Chief Strategist and Tools Lead, IBM

Dave Schell は IBM の主要な戦略家であり、テクニカル・ライティング (User Technology) コミュニティーのサポートで指導的な役割を果たしています。



2001年 3月 01日

XMLベースのDarwin Information Typing Architecture (DITA) は、モジュール化された技術情報を作成したり配布したりするための端末間アーキテクチャーです。このアーキテクチャーは、情報タイプの付いたトピック・モジュールを作成したり、そのコンテンツをオンライン・ヘルプやWeb上の製品サポート・ポータルなどのさまざまな仕方で使用したりするための一連の設計原理で構成されています。本質的には、DITAは、これらの設計原理の多くを表すXML文書型定義 (DTD) です。ただし、アーキテクチャーは、技術情報に関するこの提案を定義する部分となっています。DTDやこれに基づく任意のスキーマは、このアーキテクチャーの設計原理をインスタンス化したものにすぎません。

背景

このアーキテクチャーとDTDは、IBM、Lotus、およびTivoliのユーザー援助チームで構成される企業間ワークグループによって設計されました。1999年後半における最初の調査の後、ワークグループは、データベースへの投稿や毎週のテレビ会議を通じて、2000年にこのアーキテクチャーを共同開発しました。このアーキテクチャーは、IBMのdeveloperWorks Webサイトにおいて、エンコード形式としてXMLを利用するように設計されたXMLベースの代替文書化システムとして提供されています。


情報交換、ツール管理、および拡張性

自社製品に関する何百万ページもの文書を持つIBMは、非常に複雑な独自のSGML DTDであるIBMIDDocを所有しています。この文書化システムは、1990年代の初めからサポートされてきました。ワークグループは最初に、「IBMIDDocを単純に変換したり、DocBook、TEI、またはXHTMLなどの既存のXML DTDを使用したりしないのはなぜか?」という質問を考慮しなければなりませんでした。この質問に答えるには、技術情報の性質についていくらか考察する必要があります。

まず、SGMLとXMLはどちらも、データ所有者のコミュニティーが自分の情報資産をその情報の開発、保管、および処理方法を反映する仕方で記述するためのメタ言語と見なされています。知識表現は企業文化やコミュニティーの専門語と非常に密接に関係しているので、汎用のDTDを定義しようとするほとんどの試みは、使用されないか完成しないという結末を迎えてきました。情報交換において理想的なのは、情報のセマンティクスと変換規則を他のデータ所有コミュニティーと共用することです。

2番目に、ほとんどの企業は多くの配布システムを使用しており、情報を処理する仕方は企業ごとに大きく異なります。このために、汎用のツールセットを実現しようとする試みも、すべてむだになっています。ツール管理において理想的なのは、処理アーキテクチャーを標準に基づくものとし、多くの他者の経験を活用して、広いコミュニティーで共通の問題を解決することです。

3番目に、文書記述ボキャブラリー (DTDやスキーマ) を公式化しようとするほとんどの試みは、データ所有者の現在のビジネス慣行を取り込むための情報モデル化課程として行われてきました。このアプローチには、既存の慣行を結果となるDTDやボキャブラリーにエンコードする傾向があります。技術情報 (または、最先端のテクノロジーで継続的に利用される任意の情報) 用のDTDの将来の拡張性において理想的なのは、トップダウン処理システムに関して推定される事柄を、可能な限り少なくDTDの設計に組み込むことです。

初めに、ワークグループはこの最先端の情報技術 (IT) におけるXMLの役割を理解しようとしました。作業が進むにつれ、チームは、DTD設計のいかなる試みにおいても、大多数のボキャブラリー、ツールにとらわれない処理パラダイム、および情報構造に対するレガシー・フリーな視点を考慮に入れなければならないことに気付きました。現在の多くのDTDには、これらの論題のいくつかを扱う方法が組み込まれていますが、これらの論題の幅は単なるDTDには収まりませんでした。多くの製品、ブランド、企業、スタイル、および配布方式をサポートするため、オーサリングから配布までのプロセス全体を考慮しなければなりませんでした。最終的に生まれた一連の勧告では、設計を単なるDTDでなく情報アーキテクチャーとして表さなければならなくなりました。


基本的なアーキテクチャー単位としてのトピック

トピックは、単一のタスク、概念、または参照項目を記述する、情報の単位です。情報のカテゴリー (概念、タスク、参照) は、その情報のタイプです。タイプ付きトピックは、コンテンツ管理システムで、再使用可能なスタンドアロンの情報単位として容易に管理されます。たとえば、選択したトピックを配布コンテキストで収集し、配置し、処理するなら、最近更新された検討用トピックのグループや、ユーザー援助アプリケーションに組み込めるヘルプセットなど、さまざまな配布データを提供できます。ユーザーが選択した検索結果または "買い物リスト" からブックレットの章節を印刷することさえできます。

作成者は、基本トピックDTD (姉妹記事のDarwin Information Typing Architectureでの特殊化で詳しく説明されています) に含まれる構造を特殊化することにより、新しい情報タイプを導入できます。


DITAの概要

Darwin Information Typing Architectureは、文書の各部分、プロセッサー、および情報ユーザー・コミュニティーの間に存在する一連の関係を定義します。

図1で示されているように、Darwin Information Typing Architectureには、リファレンスDTDditabase で表現されている特定の設計ポイントに関係する4つの層があります。

図1. Darwin Information Typing Architectureに存在する層
図1. Darwin Information Typing Architectureに存在する層

タイプ付きトピック (概念、タスク、または参照) は、公開可能情報のスタンドアロンの単位です。タイプ付きトピック層の上には、スーパーセットDTDによって駆動可能な処理アプリケーションがあります。下には、アーキテクチャー内のすべての特殊化DTDの基礎を形成する2種類のコンテンツ・モデルがあります。次に、各層を詳しく見てみましょう。


DITA配布コンテキスト

配布コンテキスト・ドメインは、トピック情報の処理層を表します。トピックは、単一のまま処理するか、複数のトピックを定義された配布物に関連付ける配布コンテキスト内で処理できます。配布コンテキストには、文書管理システム、オーサリング単位、翻訳用のパッケージなども含まれます。

図2. 配布コンテキスト層
図2. 配布コンテキスト層

DITAタイプ付きトピック構造

タイプ付きトピックは、DITAトピック指向コンテンツの根本的な構造層を表します。アーキテクチャーの基礎はトピック構造であり、概念、タスク、および参照構造はそこから特殊化されます。他のタイプ付きトピックへの拡張は、特殊化によって可能です。

図3. タイプ付きトピック構造層
図3. タイプ付きトピック構造層

4つの情報タイプ (トピック、概念、タスク、および参照 (reftopic と呼ばれる)) は、製品文書化コミュニティーで使用される主なコンテンツ・カテゴリーを表します。さらに、オリジナルの4つに基づく特殊化された情報タイプを、必要に応じて定義できます。

このアーキテクチャーの注目すべき機能として、他のコミュニティーは共通構造や共用構造を使用して、独自のデータを表す付加的な情報タイプを拡張または定義できます。このようなコンテンツの例には、製品サポート情報、プログラミング・メッセージ記述、およびGUI定義が含まれます。


DITA共通構造

メタデータおよびテーブル構造は、任意のトピック内で (他のXMLボキャブラリーの中でさえも) 使用できる、不変の構造です。

図4. 共通構造層
図4. 共通構造層

メタデータ構造は、個々のトピック、より高い水準の処理DTD、さらにはサイド・ファイルまたはデータベース・レコードとしてメタデータに関連付けられたHTML文書の文書制御情報を定義します。

テーブル構造は、本文レベルのコンテンツで使用する表象的なセマンティクスを提供します。CALS表示モデルは一般的な多くのXMLエディターでサポートされています。


DITA共用構造

共用構造は、多くのタイプの技術文書で使用できるエレメントやコンテンツ・モデルを提供します。これには、基本的な文書構造 (ワード・プロセッサーでの強調やレイアウトに相当する)、コピーと貼り付けに対応したXHTML 1.0のサブセット、およびセマンティクス (意味) を持つコンテンツ用の句や構造が含まれます。

図5. 共用構造層
図5. 共用構造層

ワークグループは、一般的な、またはHTMLと共通するエレメント名を選択しようと努力しました。また、IBMIDDocやDocBookなどの大規模なSGMLライブラリーをサポートする業界DTDから、セマンティック名を借用しました。


特殊化

特殊な情報を必要とする企業は、特殊化されたトピック・タイプを定義できます。たとえば、製品グループは、3つの主なタイプの参照トピック (メッセージ、ユーティリティー、およびAPI) を識別できます。各タイプのコンテンツについて特殊化されたトピック・タイプを作成することにより、製品設計者は各タイプのトピックに適切なコンテンツが入っていることを保証できます。さらに、特殊化されたトピックを使用すれば、ユーザーが詳細な指定を行えるため、XMLに対応した検索はより有用になります。たとえば、ユーザーはxyz の検索をメッセージだけ、またはAPIだけに限定できます。または、xyz を一般的な参照トピック全体で検索できます。

安全に特殊化を行う方法を制御する規則は次のとおりです。それぞれの新しい情報タイプは、必ず既存の情報タイプにマップし、許可するコンテンツをさらに制限してください。このように特殊化を行えば、新しい情報タイプで、変換、印刷、およびWebパブリッシング用の汎用の処理ストリームを使用できます。製品グループではこれらのプロセスをオーバーライドまたは拡張できますが、デフォルトでは余分な作業や保守を伴わずに既存のプロセス全体が使えます。

企業は、一貫性のある情報記述のセットを表す一連のDTDを所有できます。各情報記述では、これらの新しい情報タイプにおいて、特殊化の価値が強調されます。


DITAにおけるコンテンツ・コミュニティーの役割

このアーキテクチャーを設計した技術文書コミュニティーは、基本的なアーキテクチャーと共用リソースを定義しました。指定されたコミュニティー (定義元コミュニティーの内部または外側に存在する) が所有するコンテンツでは、プロセッサー、スタイル、および定義済みの他の機能を再使用できますが、管理するデータに基づく固有のビジネス・プロセスの定義は、これらのコミュニティーが担当します。これを行うには、基本タイプの1つからさらに特殊化を行います。

図6は、コミュニティーが、トピック・レベルのコンテンツ所有者として、コア・アーキテクチャーに基づいてコンテンツを特殊化できる方法を表しています。

図6. 特殊化されたコミュニティーと基本アーキテクチャーの関係
図6. 特殊化されたコミュニティーと基本アーキテクチャーの関係

図6で重なり合っている部分は、この情報アーキテクチャーを使用するコンテンツ所有コミュニティーの間で共用される共通アーキテクチャーとツールを表しています。このアーキテクチャーに従ってタイプ付き文書を定義する新しいコミュニティーは、最初から同じツールを使用でき、必要に応じてコンテンツ固有のツールを洗練することができます。

参考文献

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=XML
ArticleID=240105
ArticleTitle=Darwin Information Typing Architectureの紹介
publish-date=03012001