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

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

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

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

Выражения данных и выражения сценариев содержат внутренние переменные, которые может выбрать пользователь.
Табл. 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. В случае добавления нового сценария из другого файла выберите Включить сценарий, затем выберите файл в локальной системе, на удаленном сервере или в компоненте Document Builder. Нажмите кнопку OK.
      Совет: Теперь поддерживается повторное использование разных элементов шаблона. Для этого можно указать свойство Библиотечный сценарий для кода сценария. Для того чтобы указать свойство Библиотечный сценарий, откройте панель Свойства элемента Код JavaScript, перейдите на вкладку Особые и включите переключатель Библиотечный сценарий. Дополнительная информация о свойстве Библиотечный сценарий приведена в разделе Свойства элемента кода JavaScript.

      Копия кода JavaScript из выбранного локального или удаленного файла открывается в редакторе JavaScript.

      Для файлов, выбранных в Document Builder, открывается окно Использовать ссылку в виде сценария. Укажите следует ли добавлять JavaScript в шаблон в качестве ссылки:
    • Если выбрать Да, то ссылка на файл JavaScript (.js) добавляется в тег <Script>. Например, в редактор JavaScript добавляется следующая ссылка, которую не следует изменять:
      <Script src= "library://api/scripts/51"></Script>
      Напоминание: Если документ создается на основе шаблона, содержащего ссылку на JavaScript, то Document Builder должен быть запущен и подключен к Document Studio. Дополнительная информация приведена в разделе Подключение к компоненту Document Builder.
    • Если выбрать Нет, то копия кода JavaScript из выбранного файла открывается в редакторе JavaScript.
    1. Выберите Открыть в редакторе, чтобы ввести сценарий в редакторе JavaScript Eclipse. Сценарий открывается на новой вкладке редактора в качестве временного файла .js. Вы можете изменить JavaScript и управлять сценарием с помощью опций панели Схема. После изменения сценария сохраните изменения и закройте временную вкладку редактора JavaScript, чтобы вернуться к окну Ввести код для элемента Код JavaScript.
    2. Выберите Проверить сценарий, чтобы проверить код.
    3. Нажмите кнопку OK, чтобы сохранить изменения и закрыть окно.
  3. Для сохранения изменений нажмите кнопку OK.

Пример

Пример использования выражения данных
Для отображения в таблицах автоматически создаваемых номеров строк выполните следующие действия:
  1. Перенесите элемент таблицы в редактор.
  2. Введите 3 строки и 3 столбца для таблицы и нажмите кнопку OK.
  3. Перенесите текстовый элемент в каждую ячейку.
  4. Выберите первую ячейку в первой строке.
  5. На панели Свойства перейдите на вкладку Содержимое и щелкните на значке Конфигурация. Кроме того, это окно можно открыть двойным щелчком на элементе.
  6. Перейдите на вкладку Выражение данных и выберите _row_number. Затем нажмите кнопку OK.
  7. Повторите для первой ячейки во второй и третьей строках.
  8. Удалите границы из ячеек с номерами строк:
    1. Удерживая нажатой клавишу CTRL, выберите первую ячейку в каждой строке. Если выбрано несколько элементов, то можно одновременно изменить свойства всех этих элементов.
    2. На панели Свойства откройте вкладку Граница.
    3. Для свойства Стиль выберите нет.
  9. Сохраните шаблон.
  10. Протестируйте шаблон путем создания вывода. Первая ячейка содержит номер строки и не окружена границами:
    Пример вывода
  11. В шаблоне добавьте атрибуты из схемы источника данных в оставшиеся ячейки.