テンプレート・レイアウトへのマークアップの追加

Publisherでは、ワード・プロセッサで適用した書式設定がXSL-FOに変換されます。マークアップを追加して、レイアウトとXMLファイル間のマッピングを作成し、書式で直接表現できない機能を組み込みます。

最も基本的なマークアップ要素は、XMLデータ要素を定義するプレースホルダ、および繰返し要素を定義するグループです。

Publisherには、マークアップをテンプレートに追加するためのタグが用意されています。Publisherのタグに相当するXSLについては、XSLの同等要素を参照してください。

プレースホルダの作成

プレースホルダによって、テンプレート・フィールドがXML要素データ・フィールドにマッピングされます。プレースホルダは、実行時に、XMLデータ・ファイル内にある同名の要素の値に置換されます。

プレースホルダは、次の構文を使用してドキュメントに入力します。

<?XML要素のタグ名?>

プレースホルダはXML要素のタグ名と正確に一致している必要があります。大文字と小文字が区別されます。

ドキュメントにプレースホルダを挿入するには、次の2つの方法があります。

  • 基本RTF方式の使用: プレースホルダ構文をテンプレート・ドキュメントに直接挿入します。

  • フォーム・フィールド方式の使用: (Microsoft Wordが必要)プレースホルダ構文をMicrosoft Wordの「テキスト フォーム フィールド オプション」ウィンドウで挿入します。この方式を使用すると、テンプレートの外観を維持できます。

    フィールドの挿入を参照してください。

基本RTF方式の使用

XMLデータ値を表示するドキュメント内の場所にプレースホルダ構文を入力します。

次の構文を使用して、要素のXMLタグ名を入力します。

<?XML要素のタグ名?>

次の例では、テンプレート・フィールド「Supplier」がXML要素VENDOR_NAMEにマッピングされます。ドキュメントでは次のように入力します。

<?VENDOR_NAME?>

次の図に、テンプレートへの入力を示します。

フォーム・フィールド方式の使用

フォーム・フィールド方式を使用して、プレースホルダ・タグを追加できます。

Microsoft Wordのフォーム・フィールド方式を使用して、プレースホルダ・タグを挿入するには:

  1. Microsoft Wordアプリケーションで、「フォーム」ツールバーを有効にします。
  2. プレースホルダを作成する位置にカーソルを置きます。
  3. Text Form Field」ツールバー・アイコンを選択します。この操作によって、フォーム・フィールド領域がドキュメントに挿入されます。
  4. フォーム・フィールド領域をダブルクリックして、「Text Form Field Options」ダイアログ・ボックスを起動します。
  5. オプション:「Default text」フィールドに、フィールドの説明を入力します。このフィールドに入力した内容がテンプレートのプレースホルダの位置に移入されます。

    たとえば、「Supplier 1」と入力します。

  6. Add Help Text」ボタンを選択します。
  7. 次の構文を使用して、ヘルプ・テキスト入力フィールドにXML要素のタグ名を入力します。

    <?XML要素のタグ名?>

    テキスト入力フィールドには、複数の要素タグ名を入力できます。

    次の例では、レポート・フィールド「Supplier」がXML要素VENDOR_NAMEにマッピングされます。「Form Field Help Text」フィールドには次のように入力します。

    <?VENDOR_NAME?>

    次の図に、「Text Form Field Options」ダイアログ・ボックス、および「Supplier」フィールドに適切な入力がある「Form Field Help Text」ダイアログ・ボックスを示します。

    ヒント:

    Publisher構文の文字列が長い場合、「ステータス・バー」タブのかわりに「ヘルプ・キー(F1)」タブを使用します。「Help Key (F1)」タブでは、より多くのテキストを入力できます。
  8. 「OK」をクリックして適用します。

    テンプレートのフォーム・フィールドにデフォルト・テキストが表示されます。

    次の図に、追加のフォーム・フィールド・マークアップが表示されたテンプレートの「Supplier」フィールドを示します。

この例のまとめ

次の表に、この例を完成するために入力したすべての内容を示します。テンプレート・フィールド名はテンプレートでの表示名です。デフォルト・テキスト入力は、「Text Form Field Options」ダイアログ・ボックスの「Default Text」フィールドに入力した値です(フォーム・フィールド方式の場合のみ)。プレースホルダ入力は、「Form Field Help Text」フィールド(フォーム・フィールド方式の場合)またはテンプレートに直接入力したXML要素タグ名です。

テンプレート・フィールド名 デフォルト・テキスト入力(フォーム・フィールド方式) プレースホルダ入力(XMLタグ名)

Invoice Num

1234566

<?INVOICE_NUM?>

Invoice Date

1-Jan-2004

<?INVOICE_DATE?>

GL Date

1-Jan-2004

<?GL_DATE?>

Curr

USD

<?INVOICE_CURRENCY_CODE?>

Entered Amt

1000.00

<?ENT_AMT?>

Accounted Amt

1000.00

<?ACCTD_AMT?>

(Entered Amount列の合計)

1000.00

<?ENT_SUM_VENDOR?>

(Accounted Amount列の合計)

1000.00

<?ACCTD_SUM_VENDOR?>

次の図は、フォーム・フィールドのプレースホルダ・マークアップが完成したPayables Invoice Registerです。完成した基本RTFマークアップについては、基本RTF方式の使用を参照してください。