Top > FrameMaker Blog Index > FrameMakerをXMLフォーマッターとして使う場合の考慮事項

FrameMakerをXMLフォーマッターとして使う場合の考慮事項

構造化FrameMaker を XMLのフォーマッターとして使用します。 ごく簡単に言えば以下のようなフローで作業します。

  1. XML文書を作成
  2. XML文書をFrameMakerで開く→印刷用レイアウトができている

当然、XML文書に応じて意図通り印刷用レイアウトをつけるためには、 XMLを変換したり、EDDでスタイル情報をつけたり、といった事前準備作業が必要になります。

事前準備作業とは

XML文書は一般的にいってスタイルやレイアウトに関する情報は含まれていません。 そこで、 XML文書をFrameMakerで開く段階で、これら情報を付加してやる必要があります。 さらに以下のような、レイアウト以外にも追加しないと印刷用レイアウトが作り出せない情報があります。

印刷用データにしかない情報の例

FrameMakerは、XML文書中に含まれないこれらの情報をテンプレートに含めることができるようになっていますが、 いつもFrameMaker標準の方法で対処できるとは限りません。 たとえば...

ランニングヘッダーの場合、現在の章タイトルを入れる...ただし、次ページ以降も続く場合は、 「章タイトル+続く」と表記し、次ページが別の章に切り替わる場合は、「章タイトル」のみ表記、

というような複雑な要求の場合は、FrameMakerのテンプレートだけでは対処できません。

印刷用レイアウトを作り出すための特別な要素の追加の例

ラウンドトリップか一方通行か ( Round-Tirp or One-Way )

このシナリオ(XMLで内容をつくりFrameMakerでフォーマットする)を使う場合、 XMLラウンドトリップ するか、しないか、でXML文書の作り方は変わってきます。

ラウンドトリップ(Round-Trip)する場合

FrameMakerのカスタマイズにかけられる開発費用や期間にも依存しますが、 基本的な方針としては、XML文書とFrameMakerで開く段階での構造とのギャップを可能な限り小さくさせておく 必要があります。 そうしないと、FrameMaker上で行った変更を元のXML文書に戻すのが難しくなります。

そこで、極力レイアウトを作り出すための情報や要素を織り込み済みのXML文書構造を使うことになります。 Docbookのような一般的なXMLボキャブラリを使ってXML文書をつくることができません。 (XML文書作成者に負担がかかる。)

一方通行(One-Way)の場合

FrameMakerをフォーマッタとしてのみ使い、ラウンドトリップしない場合は、 XML文書とFrameMakerの構造に乖離があっても問題ありません。 したがって、この場合は、Docbookのような一般的なXMLボキャブラリを使うことができます。 (XML文書作成者の負担は小さい。)