Установка способа форматирования и вычисления данных

Определите содержимое элемента шаблона или значения его свойств для форматирования и вычисления данных.

Об этой задаче

Можно определить содержимое шаблона с помощью простых значений, выражений данных или выражений сценария.

Выражения данных и выражения сценариев содержат внутренние переменные, которые может выбрать пользователь.
Табл. 1. Внутренние переменные Rational Publishing Engine
Переменная Описание
_cell_number Номер ячейки в текущей строке. Если элемент не является ячейкой, то значение равно 0. Можно использовать _cell_number со вкладки Выражение данных или Выражение сценария.
_element_id Номер элемента в шаблоне. Хранится внутри шаблона и используется для отладки. Можно использовать _element_id с вкладки Выражение данных или Выражение сценария.
_element_level Уровень рекурсии элемента. Если для элемента не задано значение в свойстве Уровень рекурсии на вкладке Данные, то значение равно 1. Можно использовать _element_level с вкладки Выражение данных или Выражение сценария.
_row_number Номер строки в текущей таблице. Если элемент не входит в состав элемента строки, то значение равно 0. Можно использовать _row_number с вкладки Выражение данных или Выражение сценария.
_sessionInfo Информация о свойстве из шаблона или спецификации документа. На вкладке Выражение сценария выберите переменную _sessionInfo и введите сценарий. Укажите пустые кавычки без значения для создания значения по умолчанию для свойства в выводе. Примеры сценариев:

_sessionInfo.getDocspecProperty("свойство", "");
_sessionInfo.getTemplateProperty("свойство", "");
_sessionInfo.getDatasourceProperty("источник-данных","свойство", "");
_sessionInfo.getOutputProperty("тип-вывода","свойство", "");
_sessionInfo.docspecVersion
_sessionInfo.templateVersion
_sessionInfo.engineVersion
_sessionInfo.buildNumber

Для getDocspecProperty можно использовать свойства существующей спецификации документа или создать свойства пользовательских метаданных.

_sessionLogger В целях отладки можно просмотреть настроенную информацию, сообщения об ошибках, предупреждения и сообщения отладки в файле TEMP\rpe\rpe.log, на панели Консоль или на панели Неполадки. Сообщения отображаются в расположении, которое указано в файле log4j.properties.

По умолчанию информационные сообщения отображаются на панели Консоль, но не заносятся в файл rpe.log.

На вкладке Выражение сценария выберите переменную _sessionLogger и введите сценарий. Записи протокола можно создавать с помощью одного из следующих методов:
  1. _sessionLogger.debug(сообщение)
  2. _sessionLogger.info(сообщение)
  3. _sessionLogger.error(сообщение)
  4. _sessionLogger.warn(сообщение)

При выборе значения переменной сообщение рекомендуется использовать визуальную выноску со своими инициалами или именем пользователя либо переменные из шаблона с целью создания понятных сообщений.

_sessionUtils На вкладке Выражение сценария с помощью этой переменной можно запустить функцию для сценария с именем tidyXHTML. Эта переменная позволяет устранить пустые блоки из вывода, которые создаются в результате ошибок кода XHTML. Если указана переменная _sessionUtils, то строковый аргумент обрабатывается и XHTML очищается с удалением лишних пробелов из вывода.

Пример: _sessionUtils.tidyXHTML(текст);

В случае применения переменной _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. Выберите Открыть в редакторе, чтобы ввести сценарий в редакторе JavaScript Eclipse. Сценарий открывается на новой вкладке редактора в качестве временного файла .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. Повторите для первой ячейки во второй и третьей строках.
  8. Удалите границы из ячеек с номерами строк:
    1. Удерживая нажатой клавишу CTRL, выберите первую ячейку в каждой строке. Если выбрано несколько элементов, то можно одновременно изменить свойства всех этих элементов.
    2. На панели Свойства откройте вкладку Граница.
    3. Для свойства Стиль выберите нет.
  9. Сохраните шаблон.
  10. Протестируйте шаблон путем создания вывода. Первая ячейка содержит номер строки и не окружена границами:
    Пример вывода
  11. В шаблоне добавьте атрибуты из схемы источника данных в оставшиеся ячейки.

Комментарии