設定如何格式化和計算資料

定義範本元素的內容或其內容值,以便格式化和計算資料。

關於這項作業

您可以利用簡式值、資料表示式或 Script 表示式來定義範本的內容。

資料表示式和 Script 表示式都會提供內部變數供您選取。
表 1. Rational Publishing Engine 內部變數
變數 說明
_cell_number 現行列中的資料格號碼。如果元素不是資料格,則值是 0。您可以從「資料表示式」或「Script 表示式」標籤來使用 _cell_number
_element_id 範本內的元素號碼。保留在範本內部並用於除錯。您可以從「資料表示式」或「Script 表示式」標籤來使用 _element_id
_element_level 元素的遞迴層次。如果在「資料」標籤的「遞迴層次」內容中沒有為元素設定一值,則值是 1。 您可以從「資料表示式」或「Script 表示式」標籤來使用 _element_level
_row_number 現行表格中的列號。如果列元素沒有包含這個元素,則值是 0。您可以從「資料表示式」或「Script 表示式」標籤來使用 _row_number
_sessionInfo 來自範本或文件規格的執行時期內容資訊。請在「Script 表示式」標籤中,選取 _sessionInfo 變數,並輸入 Script。如果要在輸出中產生內容的預設值,請使用其中沒有值的空引號。Script 範例:

_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,您可以使用現有的文件規格內容或建立自訂 meta 資料內容。

_sessionLogger 基於除錯目的,您可以將自訂資訊、錯誤、警告或除錯訊息,顯示在 TEMP\rpe\rpe.log 檔、「主控台」視圖或「問題」視圖中。 訊息會顯示於定義在 log4j.properties 檔中的位置中。

預設值是將參考訊息顯示在「主控台」視圖中,而不是顯示在 rpe.log 檔中。

請在「Script 表示式」標籤中,選取 _sessionLogger 變數,並輸入 Script。您可以使用下列其中一種方法,來產生日誌項目:
  1. _sessionLogger.debug(message)
  2. _sessionLogger.info(message)
  3. _sessionLogger.error(message)
  4. _sessionLogger.warn(message)

當您在 Script 中決定要輸入成 message 的文字時,請考量使用視覺化標註,例如:您姓名的首字母或使用者名稱,以及使用您範本中的變數,來建立有意義的訊息。

_sessionUtils 在 Script 表示式標籤中,您可以使用這個變數,對稱為 tidyXHTML 的 Script 執行功能。當您注意到不當 XHTML 編碼造成輸出中出現間距區塊時,這個變數就可派上用場。使用 _sessionUtils 變數時,會處理字串引數並清除 XHTML,這樣輸出中就不會顯示額外的間距。

範例:_sessionUtils.tidyXHTML(text);

當您使用 _sessionUtils 變數時,也請在「Script 表示式」標籤中選取 XHTML 輸入XHTML 輸出選項。
註: 含有這個變數的範本可以載入至舊版 Rational Publishing Engine 中,但是無法正確評估 Script。

程序

  1. 在範本內容編輯器中,按兩下文字元素。 這時會開啟「設定現行元素的內容」視窗。
  2. 使用下列其中一個選項來指定內容:
    • 如果要使用簡式值,請按一下簡式值標籤,並輸入一值。
    • 如果要使用資料表示式,請按一下資料表示式標籤,並執行下列任一動作:
      • 展開變數,並選取要使用的變數。
      • 展開屬性,並選取要使用的資料屬性。
    • 如果要使用 Script 表示式,請按一下 Script 表示式標籤。
      • 展開變數,選取一個變數,並輸入可使用現行環境定義中之變數的 JavaScript 程式碼。
      • 展開屬性,選取一個屬性,並輸入可使用現行環境定義中之資料屬性的 JavaScript 程式碼。
      • 如果您是從 XHTML 複製 Script,您可以選取 XHTML 輸入選項,以容許編輯 Script 中包含的 XHTML 標籤。
      • 如果您要將範本產生為 XHTML 輸出,您可以選取 XHTML 輸出選項,剖析 Script,並將 Script 呈現為 Rich Text。
      舉例來說,如果要選取屬性作為絕對數字、名稱和值,請將 JavaScript 程式碼輸入為:
      "object:"+Absolute Number+
      "attribute"+name+
      "value"+_value
      提示: 如果您有一個相當複雜的範本,您可以使用名稱說明內容,來說明範本中的每一個區塊。依預設,名稱和說明欄位是空白的,名稱內容顯示在範本中,說明內容可以顯示在範本元素的提示欄位中。這有助於其他人重複使用範本。

      您也可以選擇匯入現有的 Script 或在 JavaScript 編輯器中工作,而不使用「Script 表示式」標籤:

    1. 如果您要併入另一個檔案中的新 Script,請按一下併入 Script,並從電腦、遠端伺服器或「中央管理」元件選取一個檔案。按一下確定,關閉視窗,並按兩下元素,再次開啟「JavaScript 程式碼元素的輸入程式碼」視窗。
    2. 按一下在編輯器中開啟,以在 Eclipse JavaScript 編輯器中輸入 Script。 這時 Script 會在新的編輯器標籤中開啟為暫存 .js 檔,您可以編輯 JavaScript。
      註: 當您開始輸入時,在輸入句點或另一個字元作為值之後,可能會出現存取 JavaScript 檔時發生錯誤訊息。後面可能還接著內容輔助期間發生問題訊息。如果您遇到這些訊息,請完成訊息中的指示,來停用其他 JavaScript 提案選項:
      1. 按一下視窗 > 喜好設定 > JavaScript > 編輯器 > 內容輔助 > 進階
      2. 在「內容輔助循環」區段中,清除其他 JavaScript 提案選項。
      3. 按一下確定,關閉視窗。
    3. 透過「大綱」視圖中的選項來管理 Script。
    4. 儲存變更。
    5. 關閉暫時的 JavaScript 編輯器標籤。 這時會回到「JavaScript 程式碼元素的輸入程式碼」視窗。
    6. 按一下測試 Script,驗證程式碼。
    7. 按一下確定,儲存變更並結束視窗。
  3. 按一下確定來儲存變更。

範例

資料表示式使用範例
如果要在表格中自動顯示產生的列號,請執行下列動作:
  1. 將表格元素拖曳至編輯器。
  2. 針對表格輸入 3 列和 3 欄,並按一下確定
  3. 將文字元素拖曳至每一個資料格中。
  4. 選取第一列中的第一個資料格。
  5. 內容視圖中,選取內容標籤,並按一下 「配置」圖示。按兩下元素同樣會開啟相同的視窗。
  6. 按一下資料表示式標籤,並選取 _row_number。然後按一下確定
  7. 針對第二列和第三列中的第一個資料格,重複上述動作。
  8. 移除列號資料格的邊框:
    1. 按住 Ctrl 鍵,並選取每一列中的第一個資料格。當您選取多個元素時,您可以同時編輯這所有元素的內容。
    2. 在內容視圖中,選取邊框標籤。
    3. 針對樣式內容,選取 none
  9. 儲存範本。
  10. 產生輸出來測試範本。第一個資料格會包含列號,且其周圍不會有邊框:
    輸出範例
  11. 在範本中,完成將資料來源綱目中的屬性新增至其餘的資料格,以便完成表格。

意見