カテゴリー別アーカイブ: XML-DITA

DITA超入門 ― フィルタリング トピックを効率的につくる!

こんにちは。昨日に引き続きDITAのお話です。
昨日は(複数の)トピックとマップを使ってマニュアルを作るという話でした。この仕組みによってトピック単位でのデータ再利用が実現されるわけです。
ここで、ある製品Aと別の製品Bとで充電の方法が「ほんの少しだけ」異なる場合を考えてみましょう。昨日の話の範疇で考えると「充電の方法-A用.dita」と「充電の方法-B用.dita」のふたつを用意して、マップの中から必要な方のトピックを参照すれば無事解決です。もちろんこの方法で間違っていません。
ただ、「ほんの少しだけ」違うだけなのにトピックを丸ごとふたつに分けるのもなんだかな~、と思いますよね。
そこで条件処理(コンディショナルプロセシング)の出番です。
■条件処理(コンディショナルプロセシング)
条件処理には、大きく2つの機能があります(フィルタリングとフラッギング)。今日は、そのうちのひとつ、「フィルタリング」を紹介します。
●フィルタリング
ひとつのトピックファイルの中に複数の製品の情報を混在して書いておいて、マニュアル生成時にその時の条件によって、特定の情報を出力したり、出力しなかったり、をコントロールすることをフィルタリングといいます。具体例をあげましょう。
<topic id=”HowToCharge”>
  <title>充電の方法</title>
  <body>
    :
    :
    <p product=”上位モデル”>
      充電が完了するのに「30分」程度かかります
    </p>
    <p product=”下位モデル”>
      充電が完了するのに「60分」程度かかります
    </p>
    <p>
      充電中は電源を入れないでください
    </p>
    :
  <body>
</topic>
ここには上位モデル用の充電時間と下位モデル用の充電時間が混在して書かれています。このまま何も考えずに処理すると両方ともマニュアル内に出力されてしまいます。
そこで、もうひとつ、ditavalファイルというものを用意します。上位モデル用の出力を得たい場合は次のような内容にしておきます。
<val>
  <prop att=”product” val=”上位モデル” action=”include” />
  <prop att=”product” val=”下位モデル” action=”exclude” />
</val>
ここでは、
 * product属性が「上位モデル」のコンテンツは出力してください
 * product属性が「下位モデル」のコンテンツは出力しないでください
 * その他は出力してください
ということを意味しています。
そしてマニュアルを作る時に、このditavalファイルを使ってくださいね、と宣言すると次のような出力が得られるわけです。

 充電が完了するのに「30分」程度かかります
 充電中は電源を入れないでください

見事に下位モデル用の記述が抜け落ちていますね。
こうすることで、「ほんの少しだけ」違うトピックを複数個作る必要がなくなるわけです。
この機能をうまく使えば、ひとつのトピックの中に「Windows向けとLinux向けの記述」であるとか「上級者向けと入門者向けの記述」であるとかを混在して書いてもいいことになりますね。
では、また明日。


DITA超入門 ― トピックとマップ 避けては通れないはじめの一歩

こんにちは。昨日に引き続きDITAのお話です。今日は、DITAの初めの一歩として避けては通れないトピックとマップについて触れてみます。
DITAではひとつのドキュメントを作るにあたり、(複数の)トピックと(ひとつの)マップを組み合わせて使います。
■トピック
トピックにはドキュメントのコンテンツを記述します。たとえば次のようになります。
<topic id=”GoalOfDITA>
 <title>DITAのめざすもの</title>
 <body>
  <p>DITAの目的は次のとおりです</p>
  <ul>
    <li>データ再利用性の向上</li>
    <li>ワンソースマルチユース</li>
    <li>翻訳の効率化

  </ul>
 </body>
</topic>
なんだかどこかで見たことあるような..ないような…
そう、雰囲気的にはHTMLにそっくりです。とりあえずここまではあまりハードルは高くなさそうですね。
ひとつのトピックファイルにはひとつのトピック(話題)しか書かない、ということが推奨されています。ひとつのトピックファイルの中でだらだらといくつもの話題に触れるのはよしましょう、ということですね。そのため、ひとつのドキュメントを制作するにあたり必然的に複数のトピックファイルを用意することになります。
■マップ
上記の(複数の)トピックファイルをひとつにまとめることがマップの役割です。マップを使ってトピックの出力順やトピック間の階層構造を決めることになります。たとえば次のようになります。
<map title=”取扱説明書”>
  <topicref href=”はじめに.dita” />
  <topicref href=”電源の入れ方.dita” />
  <topicref href=”ラジオの聴き方.dita” />
   :
   :
</map>
この例は超基本的な例です。この他にさまざまな機能が用意されています。個人的にはマップを制することがDITAを成功へ導く秘訣だと感じていますが、ま、最初の一歩としては上記で十分でしょう。
マップとトピックの関係を図式化すると次のようになります。

この図を見て分かるように、マニュアルの種類だけマップを作り、それぞれのマップから1セットのトピックファイル(群)を共有参照する、というのがDITAの基本的な考え方です。
■トピック指向の執筆
ワードやdocbookでマニュアルを書くときは、1つのファイルに1冊分のコンテンツを丸ごと記述することになりますが、DITAでは複数のトピックファイルに分割して記述することになります(モジュール化)。こうすることで各トピックの再利用性の向上を図るわけですが、このことにより、執筆の仕方を今までとは変えなくてはならないことがあります。
たとえば「ラジオの聴き方」を書いたトピックの中では「すでに述べた方法で電源を入れた後に・・・」という書き方は避けた方がいいでしょう。なぜならマップの書き方次第では「すでに述べた」とは言い切れないからです。後で述べるかもしれませんし、そもそもどこにも述べない可能性もあります。つまり文脈依存の書き方は避けた方がよい、ということになります。これをトピック指向と言います。
■ショートデスクリプションの奨め
トピック内にショートデスクリプション(要約)を書くことが推奨されています。たとえば次のようになります。
<topic id=”GoalOfDITA>
 <title>DITAのめざすもの</title>
 <shortdesc>DITAによってマニュアル制作の効率化を望めます</shortdesc>
 <body>
  <p>DITAの目的は次のとおりです</p>
  <ul>
    <li>データ再利用性の向上</li>
    <li>ワンソースマルチユース</li>
    <li>翻訳の効率化</li>
  </ul>
 </body>
</topic>
こうすることでHTMLにした場合など、アンカー文字列にマウスホバーしたときに要約をポップアップさせたり、検索結果として要約のみをリストアップすることができるようになります。
とても小さなトピックの場合、要約を書くことによって本文に書くことがなくなってしまう、という心配もあるかもしれませんが、そのときは本文の方を空にします。それほど要約が重要視されているということですね。
各トピックの要約を読んだだけで製品の全体像がそこそこ分かってしまう、という形が理想的なのかもしれません。ですので、
 <shortdesc>ここではxxxについて述べます</shortdesc>
というような要約はご法度です。
では、また明日。


これ以上ないくらい分かりやすいDITA入門(当社比)

こんにちは。今日から5日間、XML関連営業担当からDITA関連のお話をさせていただきます。
これ以上分かりやすいDITA入門情報は他に無い、という文面を心がけますのでしばらくの間お付き合いください。
●DITAとは
ここ数年、日本でもDITAの話題が盛んになってきました。DITAはもともとIBMが策定したマニュアルを記述・管理するための仕様で、その後この仕様はOASISに寄贈され世界標準の仕様となり注目を集めています。
2008年に「DITAコンソーシアムジャパン(http://dita-jp.org/)」がアンテナハウス、ジャストシステム、日本アイ・ビー・エム、富士ゼロックスの4社が発起人として設立され、現在26の企業、団体が会員となっています。
年に2回のペースで「DITAコンソーシアムジャパン」主催のイベントが開催されていますが、毎回、参加者募集開始後ほんの数日で100名を超える方々からの応募をいただいていて、DITAへの関心度が非常に高いことをしのばせています。この状況は今後も続くものと思っています。
●DITAはどんなマニュアル、またはマニュアルのどの部分を作るのに効果的?
もともとマニュアルを記述・管理するための仕様ですので、各企業のマニュアル制作ご担当者はもちろんのこと、制作会社や翻訳会社も大きな関心を持たれているようですが、突然DITAと言われても、いったい何から手をつければいいのかとまどっていらっしゃる方も多いのではないでしょうか。
そのDITA仕様ですが、目的は次の3つです。
  * データ再利用性の向上
  * ワンソースマルチユース
  * 翻訳の効率化
これらはどれも絡み合った話ですので、あえて3つに分けることもないかと思いますが、ともかくDITAはこれらを実現するために考えられた仕様です。つまり、次のような方々はDITA採用を検討する価値がおおいにあるということです。
* 似たような製品を複数製造しているけれど、それぞれの製品のマニュアルをすべて個別に作っている
 –>大多数の共通箇所は1つにまとめたいよなぁ…
* 住所や電話番号・部署名が変わったとき、数多くのマニュアルを改修するのがめちゃくちゃ大変だった
 –>ほんのちょっとした変更にはほんのちょっとしか汗を流したくないよなぁ…
* いままでは紙のマニュアルだけだったけれど、これからはHTMLでも作らないといけなくなった
 –>紙マニュアルのデータをHTMLでも流用したいよね…
* 毎年マニュアル改訂があるけれど、翻訳にかける時間を短くしたいなぁ…
では、DITAという仕様を「採用しただけで」すべて一気に解決すのでしょうか。答はNo.です。ここを勘違いすると後で痛い目に遭います。
明日以降、これらのことにも触れながら、少し具体的にDITAの仕様を見ていくことにします。
欧米ではDITA採用がちゃくちゃくと進んでいます。DITAという黒船はすでにそこまで来ているんですね。
●参考URL

DITAとは (アンテナハウスDITAサービスより)


自動組版ソフト「AH Formatter」とDITA (その3)

こんばんは。
昨日、XMetaL Authorには Open Toolkit が標準バンドルされていることをお話ししましたが、アンテナハウスは、DITA Open ToolKitのカスタマイズサービスも提供しています。
DITA文書のPDF出力のためのスタイルシート制作、HTML、その他出力のためのスタイルシート制作、多言語索引作成のためのスタイルシート制作等、多数の実績を持っております。また次のようなツールやサービスも提供中です。どうぞアンテナハウスの各種DITAサービスを存分にご利用ください。
AH Formatter用Open Toolkitプラグイン
DITA-OTの標準のビルドファイルでは Antenna House Formatter (XSL Formatter) がサポートされており、Formatterを起動してPDFを得ることができます。AH Formatter用Open Toolkitプラグインをどうぞお試しください。
OpenToolkit 1.5用多言語索引モジュール
DITAとDocBookで作成したドキュメント用の多言語索引制作モジュールです。主に欧米で広く使われている人気のライブラリです。Catalan、Czech、Danish、 German、 English、 Spanish、Finnish、 French、Hungarian、Italian、 Dutch、Norwegian、Polish、Portuguese、Russian、Swedish、Turkish、Simplified Chinese、Traditional Chinese、Japanese、Korean 21言語をサポートしています。
Word2DITA
DITA仕様に準拠したXMLインスタンス(トピック)を簡単に、間違いなく入力/編集するためのエディタがWord2DITAです。MSWordのアドオンソフトとして動作します。
●アンテナハウス海外サイト
http://www.antennahouse.com
http://rainbowpdf.com
来週は、中国のアンテナハウスです。


多言語索引ソートモジュール公開

DocBookのコンテンツから多言語索引を作成するための多言語索引ソートライブラリーを発売しました。
このソートライブラリーは、2002年頃にもともとISOGENが開発したものですが、弊社ではこれを入手して、2005年以降、様々な多言語マニュアル制作プロジェクトで使用し、その都度改造を加えています。
今回(2009年)の改造では、次のことを行なっています。
1. XSL1.1の機能を活用しDocBookの多くの索引プロパティに対応
・3階層の索引構造に対応(primary,secondary,tertiary:従来は2階層)
・範囲の索引に対応(startofrange, endofrangeアトリビュート:従来はこの機能なし)
・See, SeeAlsoをサポート(従来はサポートなし)
2. XSLT2.0スタイルシートに対応
XSLT1.0プロセッサのSaxon6.5、Xalan2.6に加え、XSLT2.0プロセッサのSaxon9もサポート
3. 韓国語を正式にサポート
現在、次の21言語の索引ソート規則を実装しています。
従来の簡体字中国語、繁体字中国語、日本語に加え韓国語を正式にサポート
従来どおり、CJK以外のカタロニア語、チェコ語、デンマーク語、ドイツ語、英語、スペイン語、フィンランド語、フランス語、ハンガリー語、イタリア語、オランダ語、ノルウェー語、ポーランド語、ポルトガル語、ロシア語、スウェーデン語、トルコ語をサポート。
価格については、システム営業担当(sis@antenna.co.jp)までお問合せください。

多言語索引ライブラリ I18n Index Library


Pages: Prev 1 2 3 4 5 6 7 8 9 10 11 12