変数の定義および割り当て

テンプレートを設計する際に、値を計算したり、データ属性が通常は使用不可のコンテキストでそれらを使用可能にしたりすることが必要な場合があります。このような場合、変数を定義して、それに値を割り当てることができます。値は静的データにすることも、現行コンテキストで使用可能なデータにすることもできます。

このタスクについて

変数は、実行時に計算されるデータのプレースホルダーとして使用することも (変数の割り当て)、文書仕様で指定することもできます。データ属性とは異なり、変数をマスター・ページで使用することもできます。
変数には、以下の 2 つのタイプがあります。
  • ユーザー定義の変数: ユーザー定義の変数は、テンプレート設計者によって定義されます。ユーザー定義の変数には、内部のものと、外部のものがあります。
    • 内部ユーザー定義変数: 計算を実行したり、情報を一時保管したりする場合は、変数を内部として指定します。例として、マスター・ページにデータを取り込むときに使用する変数があります。内部変数は文書仕様に表示されないため、それらの変数に値を指定することはできません。
    • 外部ユーザー定義変数: 値を指定して使用する場合は、変数を外部として指定します。外部変数は文書仕様に表示されます。『文書仕様の作成』を参照してください。
  • Rational® Publishing Engine 変数: Rational Publishing Engine 変数は、文書テンプレートで使用できる内部変数です。
    表 1. Rational Publishing Engine 内部変数
    変数 説明
    _cell_number 現在行のセル番号。エレメントがセルでない場合、値は 0 です。_cell_number は「データ式」タブまたは「スクリプト式」タブのいずれかから使用できます。
    _element_id テンプレート内のエレメント番号。 テンプレート内部に保持され、デバッグに使用されます。_element_id は「データ式」タブまたは「スクリプト式」タブのいずれかから使用できます。
    _element_level 要素の再帰レベル。「データ」タブの Recursive Level プロパティーのエレメントに設定された値がない場合、値は 1 です。_element_level は「データ式」タブまたは「スクリプト式」タブのいずれかから使用できます。
    _row_number 現行テーブルの行番号。エレメントが行エレメントに含まれていない場合、値は 0 です。 _row_number は「データ式」タブまたは「スクリプト式」タブのいずれかから使用できます。
    _sessionInfo テンプレートまたは文書仕様からのランタイム・プロパティー情報。 「スクリプト式」タブで、_sessionInfo 変数を選択し、スクリプトを入力します。 出力でプロパティーのデフォルト値を生成するには、内側に値を指定せずに空の引用符を使用します。 スクリプトの例:

    _sessionInfo.getDocspecProperty("property", "");
    _sessionInfo.getTemplateProperty("property", "");
    _sessionInfo.getDatasourceProperty("data_source_name","property", "");
    _sessionInfo.getOutputProperty("output_type","property", "");
    _sessionInfo.docspecVersion
    _sessionInfo.templateVersion
    _sessionInfo.engineVersion
    _sessionInfo.buildNumber

    getDocspecProperty では、既存の文書仕様のプロパティーまたはカスタム・メタデータ作成のプロパティーを使用できます。

    _sessionLogger デバッグを目的として、カスタマイズされた情報、エラー、警告、またはデバッグ・メッセージを、TEMP¥rpe¥rpe.log ファイル、「コンソール」ビュー、または「問題」ビューに表示できます。 メッセージは、log4j.properties ファイルに定義されたロケーションに表示されます。

    デフォルト設定では、情報メッセージは「コンソール」ビューに表示され、rpe.log ファイルには表示されません。

    「スクリプト式」タブで、_sessionLogger 変数を選択し、スクリプトを入力します。 以下のいずれかのメソッドを使用して、ログ項目を生成できます。
    1. _sessionLogger.debug(message)
    2. _sessionLogger.info(message)
    3. _sessionLogger.error(message)
    4. _sessionLogger.warn(message)

    スクリプトに message として入力する内容を決定するときには、イニシャルやユーザー名などのビジュアルなコールアウトを使用したり、テンプレートからの変数を使用したりして、意味のあるメッセージを作成することを検討してください。

    _sessionUtils 「スクリプト式」タブでは、この変数を使用して、tidyXHTML と呼ばれるスクリプトに対して関数を実行できます。 この変数は、不適切な XHTML コーディングによって作成された出力内に一連の空白が存在することに気付いた場合に役立ちます。 _sessionUtils 変数を使用すると、ストリング引数は処理され、XHTML がクリーンアップされるため、出力には余分な空白が表示されなくなります。

    例: _sessionUtils.tidyXHTML(text);

    _sessionUtils 変数を使用する場合、「スクリプト式」タブで「XHTML 入力」オプションと「XHTML 出力」オプションも選択します。
    注: この変数が含まれるテンプレートは、旧バージョンの Rational Publishing Engine にロードできますが、スクリプトは正しく評価できません。

手順

  1. 「アウトライン」ビューで、「変数」 > 「挿入」 > 「新規変数」をクリックします。「新規変数」ウィンドウが開きます。
  2. 以下のフィールドに変数の詳細を入力します。
    1. 名前: 変数の名前を入力します。 この変数名はスクリプト内で使用されるので、有効な Java™ または JavaScript ID を使用する必要があります。 JavaScript ID の規則は、以下のとおりです。
      • 先頭は文字、下線 (_)、またはドル記号 ($) である必要があります。
      • 後続の文字は数字 (0 から 9) にできます。
      • 文字は大/小文字の区別があります。
      • ISO 8859-1 または Unicode 文字 (å または ü など) を使用できます。
      • 文字として ¥uXXXX Unicode エスケープ・シーケンスを使用できます。
    2. 説明: 変数の説明を入力します。
    3. デフォルト値: 変数の値を入力します。
    4. アクセス: リストから変数が内部と外部のいずれであるかを選択します。
      • 内部変数は文書仕様に表示されないため、それらの変数に値を指定することはできません。
      • 外部変数は文書仕様に表示されるため、それらの変数に値を指定できます。
  3. 要素に変数を割り当てるには、以下のようにします。
    ヒント: 可能な場合は常に、コンテナー・エレメントに変数を割り当ててください。変数はコンテナー・エレメント内の要素に適用されます。例えば、変数ごとに新規行が作成されるよう、テーブル内で変数を使用する場合があります。テーブル・エレメントに変数を割り当てると、変数ごとにテーブルが作成される可能性があります。これらの連続したテーブルがマージされる場合もありますが、個別のテーブルとして表示される場合もあります。テーブル内にコンテナー・エレメントを追加して、行をコンテナー・エレメントにドラッグしてから、変数をコンテナー・エレメントに割り当てると、変数ごとに行がある 1 つのテーブルが作成されます。
    コンテナー・エレメントが含まれるテーブル・エレメント。コンテナー・エレメント内に 3 つのセル要素を持つ行要素があります。
    1. 要素を右クリックして、「データ」 > 「割り当ての編集 (Edit Assignments)」をクリックします。 「割り当てエディター」ウィンドウが開きます。
    2. 「追加」をクリックします。 「変数の選択」ウィンドウが開きます。
    3. 変数の名前を入力して、「OK」をクリックします。
    4. 「割り当てエディター」ウィンドウで、「OK」をクリックします。

タスクの結果

選択した変数が定義され、現行要素に割り当てられます。

変数を要素に割り当てると、テンプレート・コンテンツ・エディターでその要素に 「変数の割り当て」アイコン アイコンが表示されます。

照会が指定され、変数が割り当てられた段落エレメント

次のタスク

ヒント: 変数の割り当て先の要素を右クリックして、「検索」 > 「要素内の変数参照 (Variable references in element)」を選択することによって、要素で使用されている変数割り当てのリストを検索できます。「検索」ビューが開き、変数割り当てのリストが表示されます。結果内の変数割り当てをダブルクリックすると、その変数割り当てを編集できます。

要素を右クリックして、「検索」 > 「要素内のすべての参照 (All references in element)」を選択することによって、要素で使用されている変数割り当て、属性、および照会のリストを検索できます。「検索」ビューが開き、リストが表示されます。結果内の項目をダブルクリックすると、それを編集できます。


フィードバック