Antenna House Formatter多言語索引ライブラリ I18n Index Library
製品概要
『I18n Index Library』は、DITA や DocBook のコンテンツから多言語索引を作成する Java ライブラリです。このライブラリはDocBookからXSL-FOへのスタイルシートや、「DITA OT (Open Toolkit)」に組み込んで、ご利用いただけます。またこのライブラリは汎用の要素のソート機能も提供しています。
DocBookの処理ダイアグアラム
『I18n Index Library』は XSLT スタイルシートから indexterm 要素を受け取り、ドキュメントの言語によってソートします。ソートされた結果データはスタイルシートによって適切な XSL-FO 形式に変換されます。
- 「I18n Support Library」は、Innodata Isogen 社によって開発されたオープンソースの LGPL ライセンスのライブラリです。
- アンテナハウスは、オリジナルのライブラリに修正を加え、LGPL ライセンスに従ってこのライブラリを公開しています。このライブラリはこの製品に含まれています。
- 『I18n Index Library』は、アンテナハウスが開発したスタイルシートと「I18n Support Library」のインターフェイスライブラリです。このライブラリを用いてサポートする言語の索引をソートできます。
- 「DocBook to FO stylesheet」はアンテナハウスが開発したサンプルスタイルシートです。このスタイルシートは索引データをライブラリに渡し、ソートした結果データから索引用のフォーマッティングオブジェクトを生成します。XSLT 1.0 及び XSLT 2.0 スタイルシートがこの製品に含まれています。PDF 出力要件によりスタイルシートを修正して使用することができます。
- 『Antenna House XSL Formatter』は XSL-FO から PDF を生成し、XSL 1.1 の索引機能を実装しています。『Formatter』は、V6 が推奨されます。
DITA Open Toolkitでの出力ダイアグラム
DITA Open Toolkit の処理ダイアグラム
- 「DITA Open Toolkit (DITA-OT)」 は、DITA で記述された XML インスタンスを出版するためのオープンソースの出版システムです。
- PDF5-ML はアンテナハウスが開発したサンプル DITA-OT プラグインです。多くの DITA 1.3 仕様の索引機能を実装し『Formatter』を用いて、PDF を出力します。
※ PDF5-ML プラグインは『I18n Index Library』製品には同梱されません。GitHub よりダウンロードください。→ https://github.com/AntennaHouse/pdf5-ml - 『I18n Index Library』プラグインは、複数の「DITA-OT」プラグインから、『I18n Index Library』の機能を使えるようにした、独立した「DITA-OT」プラグインです。
機能
50言語の索引をサポート
Arabic (ar),
Bulgarian (bg),
Catalan (ca),
Czech (cs),
Danish (da),
German (de),
Greek (el),
English (en),
Spanish (es),
Estonian (et),
Persian (fa),
Finnish (fi),
French (fr),
Hebrew (he),
Hindi (hi),
Croatian (hr),
Hungarian (hu),
Indonesian (id),
Italian (it),
Icelandic (is),
Japanese (ja),
Kazakh (kk),
Khmer (km),
Kannada (kn),
Korean (ko),
Lao (lo),
Lithuanian (lt),
Latvian (lv),
Malay (ms),
Myanmar (my),
Dutch (nl),
Norwegian (no),
Polish (pl),
Portuguese (pt),
Romanian (ro),
Russian (ru),
Sinhala (si),
Slovak (sk),
Slovenian (sl),
Swedish (sv),
Swahili (sw),
Tamil (ta),
Teglu (te),
Thai (th),
Tagalog (tl),
Turkish (tr),
Ukrainian (uk),
Vietnamese (vi),
Simplified Chinese (zh-CN),
Traditional Chinese (zh-TW)
※ 上記括弧内の文字列は言語コードです。
派生言語コードの定義が可能
- 例えば ポルトガル語なら pt, pt-BR, pt-PT を定義することができます。
- この言語コードは索引構成ファイル botb_index_rules.xml に次の様に記述します。
<index_config> <national_language>pt</national_language> <national_language>pt-PT</national_language> <national_language>pt-BR</national_language> <description> <p>Portuguese index configuration</p> </description> ... <index_config>
DocBookのスタイルシート
- XSL1.1 の索引機能を用いて多くの DocBook indexterm 機能を実装
- 3レベルにネストされた索引構造(primary、secondary、tertiary 要素)
- Range index(startofrange、endofrange 属性)
- Significant index(significance 属性)
- "See"、"See Also" をサポート(see、seealso 要素)
- Java ベースの主な XSLT プロセッサをサポート
- XSLT 1.0 processor: Saxon 6.5.5, Xalan-J 2.7.1/2.7.2
- XSLT 2.0 processor: Saxon-B 9.1, Saxon-PE/EE 9.2 or later
- XSLT 1.0/2.0 のサンプルスタイルシートを同梱
- XSLT 1.0 スタイルシートは Saxon 6.5.5, Xalan-J 2.7.1/2.7.2で使用
- XSLT 2.0 stylesheets は Saxon-B 9.1, Saxon-PE/EE 9.2以降 で使用
- sortas 属性を使って簡体字中国語の索引順序を修正することが可能
例えば中国の単語「粘贴」は、「粘」の最も一般的な読みが「nian2」なので、「N」索引グループに属します。しかしながら、正確な読みはこの単語では「zhan1」です。
<indexterm><primary>粘贴</primary></indexterm>
このような場合、正しい読み(pinyin)を sortas 属性値に指定することで、修正ができます。「粘贴」は正しく「Z」索引グループに配置されます。
<indexterm><primary sortas="zhan1 tie1">粘贴</primary></indexterm>
PDF5-ML プラグイン
- DITA indexterm 機能をサポート
- 複数レベルのネストした <indexterm> 要素
- 複数の <index-see>、<index-see-also> 要素
- <index-sort-as> 要素
- 範囲の索引(indextermの@start, @end属性)
- DITA to XSL-FO 変換のための XSLT2.0 スタイルシート
- 多くの DITA 1.3 要素および属性をサポートしています。例えば、<indexlist> 要素に加えて、<figurelist>、<tablelist> 要素を実装しています。
- スタイルはすべて「config」ディレクトリ中のスタイル定義ファイルと呼ばれる外部ファイルに定義されています。このスタイル定義ファイルは各言語コードごとに作成されます。デフォルトのスタイル定義ファイル、英語および CJK のファイルはこのプラグインにバンドルされています。また、スタイルシートを編集せずにこのスタイル定義ファイルを編集するだけで、出力結果のスタイルを変更できます。
- もし、スタイルシートのアルゴリズムをカスタマイズしたい場合、カスタマイズ用のスタイルシートを「customize」ディレクトリに加え、dita2fo_custom.xsl にそれを含めてください。DITA を FO に変換するための XSLT 2.0 機能を最大限利用することができます。
- indexterm/@start に対応する indexterm/@end 要素がない場合、このスタイルシートは自動的に DITA の仕様に従って indexterm の範囲を閉じます。この処理は、topicref/topicmeta、topic/metadata 及び body-level の範囲指定の indexterm 要素で行われます。
独立した Java ライブラリのプラグイン
- 『I18n Index Library』プラグインは、「DITA Open Toolkit」内の別のプラグインと共有することができます。例えば、PDF、HTML、EPUB プラグインが索引並び替え機能を必要とする場合、そこから『I18n Index Library』プラグインを使うことができます。
- インストールは非常に簡単です。"[DITA-OT]\plugins" ディレクトリに『I18n Index Library』のプラグインのディレクトリをコピーし、ant コマンドラインを使用して、製品を組み込むことができます。
一般要素のソーティング機能
- 新たに一般要素用のソートクラスが追加され、どのような要素でもソーティングができるようになりました。
- ソートキーは対象要素にsort-key属性、sort-as属性で指定してライブラリに渡します。
- ソートクラスの静的メソッドを呼び出せばライブラリがソート結果の要素に設定したgroup-key属性によりグルーピングができます。この機能はXSLT標準の<xsl:sort>では実現できません。
動作環境
Java Runtime Environment | Oracle JRE 7 以上 |
---|---|
XSLT Processor | Saxon 6.5.5, Xalan-J 2.7.1/2.7.2, Saxon-B 9.1, Saxon-PE/EE 9.2 以上 |
XML Parser | JREバンドルのパーサー |
DITA Open Toolkit | 1.7.5 以上 |
XSL Formatter | Formatter V6 |
- 「Saxon-HE 9.2」以上は、XSLT スタイルシートからの外部 Java ライブラリ呼び出しを許可しないので、サポートしていません。
- 「DITA Open Toolkit 1.7.5」以上は XSLT プロセッサとして「Saxon-B 9.1」をバンドルしています。
- 「DITA Open Toolkit 3.0」以上は XSLT プロセッサとして「Saxon-HE 9.8」をバンドルしています。このためそのままではプラグインのスタイルシートからI18n Index Libraryを呼び出すことができません。「Saxon-PE/EE 9.8」以降を御購入の上、DITA Open ToolkitにXSLT プロセッサとして設定していただく必要があります。
制限事項
- このライブラリは索引のソートをするにあたって、BMP(Basic Multilingual Plane)の中にある Unicode 文字のみをサポートしています。BMP の外部にある漢字あるいは他の文字はサポートしていません。
- この製品は、Windows環境のみで動作するサンプルバッチファイルを使用しています。
- DocBook の indexterm 要素の zone と startref 属性はサポートしていません。
- 「I18n Index Library V2.3」は「ICU4J 5.6リリース(icu4j-56.1.jar)」でテスト/検証されています。詳細は ICU サイトを参照ください。
- 漢字の並び順は Unicode 6.0 の Unihan データベースから作成しています。詳細は Unihan データベースを参照ください。
- PDF5-MLプラグインとDITA-OTにバンドルされるPDF2プラグインは索引の処理方法が非常に異なります。I18n Index LibraryをPDF2プラグインに組み込むことはテストされておらず、また保証もされません。
- DITA Open Toolkitは独自のICUライブラリをバンドルしています。例えばDITA-OT 2.2.2はicu4j-54.1.jarをバンドルしています。DITA-OTの処理実行時はI18n Index LibraryにバンドルされたICUライブラリよりこちらが優先されて使用されます。ICUライブラリのバージョンの違いはソート結果に微妙な影響を与える場合があります。
サンプル PDF
このライブラリで生成したサンプル PDFは以下よりダウンロードできます。
- DocBook
- DITA
価格
オプション製品の価格をご覧ください。