Index > 構造化FrameMaker の基本的な開発・制作ワークフロー
Wed, January 28, 2009

構造化FrameMaker の基本的な開発・制作ワークフロー

ドキュメントを多言語で展開するために、いままでは、 InDesign+XMLを使って対処してきたが、 今度はFrameMaker+XMLの組合せで制作することになった。

FrameMaker(Structured)は、SGML時代から存在しているツールであり、 XMLを使った多言語展開には、InDesignよりずっとうまく対応できる設計になっている。
とはいえ、 ページ数が少なく、レイアウト要求が厳しい場合には、 やはり、InDesign+XMLの方がやりやすいと感じる。 EDDによるスタイルコントロールは、すこし気が重い。

構造化FrameMakerの基本的なワークフロー

FrameMakerを本格的に使うのは久しぶりなので、 制作のワークフローをおさらいした。

今回は、処理対象とするXML文書は、 こちら(Apache Velocity DocBook Framework ) からダウンロードできる DBFUserGuide(PDF) の一部を利用しました。

DBFUserGuide.xml は、Docbook4.5を使って記述されています。 今回は、Structured FrameMakerでXMLを使った制作ワークフローの確認をするのが目的なので、 このxmlの一部を抜粋して、 sample.xml を作成し、これを使って作業を進めます。

テストに使用したバージョンは、日本語版 FrameMaker 7.2(Windows) です。

TOC

STEP1 DTDの作成

用意した sample.xml から DTDを作成します。

$  java -jar trang.jar -I xml -O dtd sample.xml sample.dtd

作成されたDTD: sample.dtd

<?xml encoding="UTF-8"?>

<!ELEMENT book (title,chapter)>
<!ATTLIST book
  xmlns CDATA #FIXED ''
  lang  #REQUIRED>

<!ELEMENT chapter (title,section+)>
<!ATTLIST chapter
  xmlns CDATA #FIXED ''
  id  #REQUIRED>

<!ELEMENT section (title,para+)>
<!ATTLIST section
  xmlns CDATA #FIXED ''
  id  #REQUIRED>

<!ELEMENT para (#PCDATA)>
<!ATTLIST para
  xmlns CDATA #FIXED ''>

<!ELEMENT title (#PCDATA)>
<!ATTLIST title
  xmlns CDATA #FIXED ''>

trang.jar について

Trangを使って、DTDを簡単に作成するを参照。

STEP2 EDDの作成

STEP1で作成したDTDをEDDに変換します。 EDD(Element Definition Document)は、 XMLの各要素に対応したスタイル情報を記述したFrameMakerのドキュメントです。 FrameMaker独自規格の CSS(Cascading Style Sheets)と考えてほぼ間違いないと思います。

FrameMaker(Structured) を 起動...

  1. 【File - Structure Tools - Open DTD...】
    • sample.dtd を選択
  2. Use Structured Application : < No Application > を選択
  3. Open DTD File for : XML を選択
    • sample.dtd が EDDに変換されて表示
  4. 【File - Save As 】
    • edd.fm というファイル名で保存

※EDDのスタイル設定は、なしで先に進めます。

STEP3 テンプレートの作成

STEP2で作成したEDDをテンプレートに読み込ませます。 テンプレートは、FrameMakerがひな形として使うドキュメントです。

以下の手順でテンプレートを作成します。

FrameMaker(Structured) を 起動...

  1. 【File - Open】
    • edd.fm を選択
  2. 【File - New - Document 】
    • Use Blank Paper: Portrait を選択 →新規ドキュメントが表示される
  3. 【File - Import - Element Difinitions...】
    • Import from Document : edd.fm を選択
    • Import ボタンをクリック
  4. 【File - Save 】
    • ファイル名 template.fm として保存

STEP4 アプリケーションの定義

次にFrameMakerのアプリケーションを定義し、今回作成したDTDをもったXMLを FrameMakerで編集できるように準備します。

今回は、以下の設定でアプリケーションを作成します。

準備

これらのファイルを慣例に従い、以下のディレクトリを作成した上で、その中にコピーしておきます。

$STRUCTDIR は、通常は次のディレクトリを示します。(状況に合わせて読み替えしてください。)

アプリケーション定義の追記

FrameMaker上で アプリケーション定義ファイルに今回作成する hellofm を追加します。

アプリケーション定義ファイルのバックアップ

アプリケーション定義する前に 定義ファイルをバックアップしておくべきです。 通常は、アプリケーション定義ファイルは以下の場所にあります。

このファイルを別名でコピーするなどして、バックアップしておきます。

以下の手順でアプリケーションを作成します。

FrameMaker(Structured) を 起動...

  1. 【File - StructureTools - Edit Application Definitions ...】
  2. hellofm アプリケーションの定義を追加
  3. 【File - Save 】
  4. 【File - Structure Tools - Read Application Definitions....】(これを忘れないこと!)

アプリケーションの追記結果は以下のようになります。

structapps

Structure View

STEP5 XML文書の読み込みテスト

それでは実際に sample.xml を STEP4 で定義した hellofm アプリケーションを使って 開いてみます・・・その前に、Public ID を定義したので、 sample.xml の先頭部分に以下のように、DOCTYPE宣言を追加します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OSIMA//DTD hellofm//EN" "">

それでは開きます。

FrameMaker(Structured) を 起動...

right

  1. 【File - Open】
    • sample.xml を選択
  2. Use Structured Application: hellofm

読み込まれると以下のように表示されます。

※スタイル情報はまだありません。

STEP6 スタイル情報の追加

STEP5 までできたら、あとは、

ということを XML文書が適切にフォーマットされるまで、繰り返します。
スタイル情報の作成段階では、サンプルのXML文書に対してEDD適用を行い、 満足のいく定義が出来たら、テンプレート(template.fm)に適用します。

 Twitter
follow me on Twitter
 Categories