タグ別アーカイブ: Formatter

DITA の便利ツール

DITA でオーサリングをする際、初めにコンテンツ構造の計画を立てていると思います。
そして計画に対しレビューを行い、コンテンツの全体を把握した後に DITA ファイルを作成。このファイルを作成する作業がなかなか大変。
しかも一度 DITA ファイルを作成してしまうと手直しがまた大変。
コンテンツは大量にあるのでファイルを探すだけで一苦労です。

この作業が自動化できたらいいな、そんなことを考えたことはありませんか?

その悩みを解消してくれるツールがこの「ATL to DITA」(仮)です。

1.Excel ファイルでコンテンツ構造の計画を立てます。
グループ(第一階層)や階層レベル、chunk、タイトル、メタデータの情報を記載していきます。

atl_excel

Excel 画面

2.ツールの画面で Excel ファイルや出力先などを指定します。

atl_gui1

ツール画面1

atl_gui2

ツール画面2

※画面は開発中のものです

3.出力先のフォルダに DITA ファイルが作成されます。

atl_out1

出力ファイル1

atl_out2

出力ファイル2

atl_out3

出力ファイル3

階層に応じたマップが生成され、トピックには予め Excel で記載したタイトルやメタデータが挿入されます。

atl_out4 atl_out5

4.計画に手直しが入った場合はもう一度ツールを実行してください。

如何でしょうか?ちょっとした機能ですが、なかなか便利ですよね!

このツールは Java、Ant、XSLT を組み合わせて構成しています。

atl_architecture

構成

皆様は日々の業務でこういうものがあったら便利なのにな、といったものはございますか?
こういった便利なツールのご要望がございましたらアンテナハウスまでご相談ください!


AH Formatter の海外での評価

XML 自動組版ソフトとして弊社の AH Formatter は高い評価をいただいているのですが、海外ではどう見られているのでしょうか。
競合ソフトとしては FOP や XEP といったものがよくあげられますが、海外ではどうなのでしょう。

1か月ほど前の話なのですが、YAHOO! GROUPS にある “DITA users group” にこんなタイトルの投稿がありました。

「Japanese PDF layout issues」

どうやら日本語組版で問題を抱えているようです。詳しい内容は
https://groups.yahoo.com/neo/groups/dita-users/conversations/topics/42731
を見ていただくとして、これに対していくつかのレスポンスがありました。
Formatter に関するところをキャプチャーしてみました。

20171024-1 「Antenna House を強く推奨する」と言ってくださっています。

もうひとつ20171024-2

「Antenna House Formatter を使うことがおそらく最高の解決策だ」

海外でもこうして高い評価をいただいています。うれしい限りです。
ちなみにこのサイトで “antenna house” を検索してみると山ほどの高評価をいただいていることが分かります。

DITA に限らず XML 自動組版に挑戦しようとされているのなら、是非弊社の Formatter を選択肢のひとつに加えていただきたいと思います。


focheck を使って XSL-FO のマークアップの妥当性を検証する

海外営業担当です。
本日は弊社アイルランドの社員 Tony Graham が開発しました focheck についてご紹介させていただきます。oXygen XML Editor をお使いの方必見です。最後までお読みいただくと focheck の使い方がわかります。ぜひお使いになってください。

XSL-FO を oXygen XML Editor でチェック

XSL-FO は、まずフォーマットオブジェクトとそのプロパティを表すために設計されました。 スキーマに準拠するようには設計されておらず、検証技術を考慮して設計されていませんでした。 その結果、XSL-FO ドキュメントの正当性をチェックする最良の方法は、AH Formatter でフォーマットしてログファイルを確認することでした。
Antenna House の focheck フレームワーク は、oXygen XML Editor を使用中に、Antenna House 拡張機能も含め、XSL-FO ファイルをチェックして修正することをついに可能としました。

フォーマッティングオブジェクトの構造

それぞれの FO に含めることができるものを定義する XSL 1.1 勧告 のコンテンツモデルは、単純です。 しかし、勧告にある記述は、しばしばコンテンツモデルに含まれない FO をも許容しています。
fo:marker はコンテンツモデルには表示されませんが、ほとんどの(ただしすべてではありません)FO の最初の子として使用が可能です。

1-focheck-marker.png
fo:change-bar-begin と fo:change-bar-end は、コンテンツモデルには表示されませんが、ほぼどこでも許可される、 地点を定義する  FO です。

2-focheck-change-bar-begin.png

fo:change-bar-begin と fo:change-bar-end には、スキーマで表現できないプロパティの制約もあります。
XSL 1.1 には、一部のFOが特定のタイプのFOの祖先または子孫として許可されないという制約も更に含まれています。 たとえば、fo:footnote は子孫として別の fo:footnote を持つことはできません。 明らかに、fo:footnote の祖先を持つこともできません。

3-focheck-footnote.png

プロパティ値

各 XSL-FO プロパティで許可されるタイプは、XSL 1.1 勧告で定義されています。 ただし、XSL-FO ファイルのプロパティ値は、必ずしも単一の値であるとは限りません。 ほとんどのプロパティは、 ‘2pt + 6em’ のような式にすることもできます。 AH Formatter は  ‘2pt + 6em’ を評価してから結果が正しいかどうかを判断する必要があります。 focheck は、AH Formatter のように、式を解析するパーサーを含んでいます。 focheck はプロパティ値の式を評価し、結果のタイプをチェックします。 ‘ from-table-column()’ などの XSL 1.1 で定義されているすべての関数名や Antenna House 拡張機能を認識し、パラメータをチェックしますが、まだ関数を評価していません。 AH Formatter とは異なり、focheck は、 ‘font-family’ や  ‘border’ など、異なる構文を使用するプロパティを一部解析しません。

4-focheck-property.png

警告を追加

focheck は、エラーではない条件についても警告することができるので、AH Formatter には問題はありませんが、おそらく意図したものではありません。 たとえば、fo:flow または fo:static-content に非標準の  ‘flow-name’ 値があり、 ‘region-name’ の値が一致するページ領域がない場合は、エラーではありません。fo:flow または fo:static-content は単に使用されないだけです。 これは設計によってというよりも偶発的に発生する可能性が高いため、focheck はこれらの不一致と、決して使用されない ‘region-name’ の値について警告します。

5-focheck-flow-name.png

XSL-FO のリストは、’provisional-label-separation’ と ‘provisional-distance-between-starts’ プロパティをfo:list-blockに設定し、なおかつ 各 fo:list-item-label  に ’end-indent’ を、各 fo:list-item-body に ’start-indent’ を設定してリスト項目のラベルと本文との間隔を指定します。 これらのいずれかが見つからない場合は、エラーにはなりません。 AH Formatter は、XSL 1.1 勧告に従って、各プロパティに対して継承または初期値を使用します。 しかし、これはおそらく期待したものではないので、プロパティのいずれかが見つからないときに focheck が警告します。

6-focheck-list.png

オーサリングのサポート

XSL-FO は手作業で作成することを目的としたものではありません。 ほとんどの人は XSLT を使用して XSL-FO を生成しています。開発者以外や、サポートスタッフあるいは AH Formatter をテストまたは文書化している人以外に手作業で XSL-FO をオーサリングする必要のある人はほとんどいません。 ほとんどの人にとって、XSL-FO をオーサリングする唯一の理由は、後で XSLT 変換の出力として自動的に生成されるものを試作することです。

XSL-FO をオーサリングする必要がある場合、focheck は、現時点で許可されている FO またはプロパティのリストを提供してくれるので、役に立ちます。

7-focheck-structure-editing.png

また、FO 又はプロパティを説明するポップアップツールチップを表示することもできます。

8-focheck-tool-tip.png

また、focheck では問題の報告だけでなく、XSL-FO の一般的な問題をいくつか修正する「クイック修正」も行うことができるようになっています。例えば、上記のような警告があれば、クイック修正をします。

focheck を入手する

focheck は、2015年にリリースされた oXygen 17 以降の oXygen XML Editor にバンドルされています。ただし、oXygen の focheck バージョンは 2015 年以降に更新されていません。最新の focheck バージョンを入手して、 oXygen アドオンとして focheck をインストールすることができます。
GitHub から focheck をインストールするには:

  1.  [ヘルプ] メニューから [新しいアドオンをインストールする] を選択します。 9-focheck-help-new-add-on-install.png
  2. アドオンの場所にhttps://github.com/AntennaHouse/focheck/raw/master/add-on-ja.xml を入力し、「focheck」を選択してインストールを続行します。10-focheck-new-add-on-install.png

仕組みの説明

focheck は、RELAX NG スキーマと Schematron を oXygen フレームワークに同梱しています。 RELAX NG スキーマは、FO の構造に関する規則の大部分、およびプロパティがどの FO に適用されるかの規則を提供しています。 Schematron は、プロパティ値の解析など、RELAX NG で表現できない制約をチェックします。 パーサーは、XSLT として実装され、それは REx パーサジェネレータによる言語構文用の EBNF のバージョンから生成しています。
正確度を保証するために、RELAX NG、Schematron for XSL 1.1 FO およびプロパティの大部分は、XSL 1.1 勧告の XML バージョンにある XSLT を実行することによって自動的に生成します。

ライセンス

focheck はオープンソースであり、Apache License、Version 2.0 の元、ライセンス許容されています。

アンテナハウス海外サイト
http://www.antennahouse.com/
http://rainbowpdf.com/

AH Formatter関連ページ:focheck(oXygen アドオン) – XSL-FO と AH Formatter 拡張仕様のバリデータ


MathML数式組版入門書の英語版を作成中です

海外営業担当です。

MathML数式組版入門書 は初版V1.0が昨年6月に出版され、今回改訂版V1.1の出版を間近に控えています。

本書は数式記述言語 MathML を使って数式組版を行うための入門書です。MathML を使って数式を組むためには、MathML に対応した組版ソフトが必要です。本書では弊社が独自開発した「AH Formatter MathML 描画エンジン」を用います。本書の内容の大半は特定のアプリケーションソフトに依存しないものですが、『AH Formatter』を使って MathML 組版を行ううえで有用な知識を随所に盛り込みました。本書で取り扱う MathML 仕様はバージョン 3.0(Mathematical Markup Language (MathML) Version 3.0 2nd Edition)を念頭に置いてあります。これから MathML を学習する方も、Web 上のサンプルをコピー&ペーストしてなんとなく使っていた方も、この一冊で MathML の基本がよく分かる構成になっています。

なお、本書は HTML と CSS で記述され、『AH Formatter』で組版(CSS 組版)されています。数式部分はもちろん MathML です

2014年2月リリースの『AH Formatter V6.2』では、MathML 描画エンジンが完全に書き換えられ、数式の組版がより一層強化されました。このとき、MathML の対応バージョンも『AH Formatter V6.1』までの MathML 2.0 から 3.0 へ更新しました。

海外でもこの時新しくなった MathML 描画機能を評価をしていただいた企業より、数式の組版精度が格段に良くなったとお褒めの言葉を頂いたのを覚えております。さて本書の改訂版の出版を機に、英語版を作って海外の皆さんにも幅広く利用していただこうと、現在翻訳に着手しております。翻訳をしながら、内容を理解していきますと、これなら初心者の方も試してみよう、数式をこの本書にあるサンプルのとおりコーディングして描画してみようという気になるのではという感想を持ちました。

是非読んでいただきたい書籍です。購入方法はこちらをご覧ください。

http://www.antenna.co.jp/AHF/ahf_publication/index.html#MathML

アンテナハウス海外サイト
http://www.antennahouse.com/
http://rainbowpdf.com/