データのフォーマット設定方法と計算方法の設定

データのフォーマット設定および計算のためにテンプレート・エレメントの内容またはそのプロパティー値を定義します。

このタスクについて

単純値、データ式、またはスクリプト式を使用して、テンプレートの内容を定義できます。

データ式とスクリプト式の両方に、選択可能な内部変数があります。
表 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. 以下のいずれかのオプションを使用して、コンテンツを指定します。
    • 単純値を使用するには、「単純値」タブをクリックし、値を入力します。
    • データ式を使用するには、「データ式」タブをクリックし、以下のいずれかを実行します。
      • 「変数」を展開し、使用する変数を選択します。
      • 「属性」を展開し、使用するデータ属性を選択します。
    • スクリプト式を使用するには、「スクリプト式」タブを選択します。
      • 「変数」を展開し、変数を選択して、現行コンテキストで変数を使用できる JavaScript コードを入力します。
      • 「属性」を展開し、属性を選択して、現行コンテキストでデータ属性を使用できる JavaScript コードを入力します。
      • スクリプトを XHTML からコピーした場合、「XHTML 入力」オプションを選択して、スクリプトに含まれている XHTML タグを編集できるようにします。
      • テンプレートを XHTML 出力で生成する場合、「XHTML 出力」オプションを選択し、スクリプトを解析してスクリプトをリッチ・テキストとしてレンダリングします。
      例えば、属性を絶対数、絶対名、および絶対値として選択するには、JavaScript コードを以下のように入力します。
      "object:"+Absolute Number+
      "attribute"+name+
      "value"+_value
      ヒント: テンプレートがかなり複雑である場合、テンプレート内の各ブロックを Name および Description プロパティーを使用して説明できます。 名前と説明のフィールドはデフォルトでは空ですが、名前コンテンツはテンプレートに、説明コンテンツはテンプレート・エレメント・ヒント・フィールドに表示できます。 これは他のユーザーによるテンプレートの再利用に役立ちます。

      既存のスクリプトをインポートしたり、「スクリプト式」タブの代わりに JavaScript エディターで作業するというオプションもあります。

    1. 新規スクリプトを別のファイルから組み込む場合は、「スクリプトの組み込み」をクリックして、コンピューター、リモート・サーバー、またはセントラル管理コンポーネントからファイルを選択します。「OK」をクリックしてウィンドウを閉じ、エレメントをダブルクリックして「JavaScript コード・エレメントのコードの入力」ウィンドウを再度開きます。
    2. 「エディターで開く」をクリックし、スクリプトを Eclipse JavaScript エディターに入力します。 スクリプトが新規エディター・タブに一時 .js ファイルとして開かれ、その JavaScript を編集できます。
      注: 入力を開始し、ピリオドまたは別の文字を値として入力すると、「JavaScript ファイルのアクセス中にエラーが発生しました」メッセージが表示されることがあります。 これには「コンテンツ・アシスト中に問題が発生しました」メッセージが続くこともあります。 これらのメッセージを検出したら、メッセージに示される指示を実行して、「その他の JavaScript プロポーザル」オプションを無効にします。
      1. 「ウィンドウ」 > 「設定」 > 「JavaScript」 > 「エディター」 > 「コンテンツ・アシスト」 > 「拡張」をクリックします。
      2. 「コンテンツ・アシストのサイクル」セクションで、「その他の JavaScript プロポーザル」オプションをクリアします。
      3. 「OK」をクリックしてウィンドウを閉じます。
    3. 「アウトライン」ビューのオプションでスクリプトを管理します。
    4. 変更を保存します。
    5. 一時 JavaScript エディター・タブを閉じます。 「JavaScript コード・エレメントのコードの入力」ウィンドウに戻ります。
    6. 「スクリプトのテスト」をクリックし、コードを検証します。
    7. 「OK」をクリックし、変更内容を保存して ウィンドウを終了します。
  3. 「OK」をクリックして変更を保存します。

データ式の使用例
自動生成された行番号をテーブルで表示するには、次のようにします。
  1. テーブル・エレメントをエディターにドラッグします。
  2. テーブルに 3 行および 3 列を入力し、「OK」をクリックします。
  3. テキスト・エレメントを各セルにドラッグします。
  4. 最初の行の最初のセルを選択します。
  5. 「プロパティー」ビューで、「コンテンツ」タブを選択して、「構成」アイコンをクリックします。 エレメントをダブルクリックしても、同じウィンドウが開きます。
  6. 「データ式」タブをクリックし、_row_number を選択します。 その後で「OK」をクリックします。
  7. この手順を 2 番目の行および 3 番目の行の先頭のセルに対して繰り返します。
  8. 行番号セルから境界線を削除します。
    1. CTRL キーを押し下げたまま、各行の先頭のセルを選択します。 複数のエレメントを選択した場合、そのすべてのプロパティーを同時に編集できます。
    2. 「プロパティー」ビューで、「境界線」タブを選択します。
    3. 「スタイル」プロパティーで、「なし」を選択します。
  9. テンプレートを保存します。
  10. 出力を生成してテンプレートをテストします。 先頭のセルには行番号が入り、その周囲には境界線はありません。
    出力例
  11. テンプレートで、データ・ソース・スキーマから残りのセルへの属性の追加を終了し、テーブルを完成させます。

フィードバック