Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

XSLT Saxon

Общее описание

Блок XSLT Saxon предназначен для трансформации XML‑сообщений с использованием процессора Saxon — высокопроизводительного движка для обработки XSLT (в т. ч. версий 2.0 и 3.0) и XQuery. XSLT‑шаблоны загружаются в поле Загрузить схему или темплейт. Загруженный документ сохраняется в менеджере файлов и доступен в пользовательском интерфейсе ESB в разделе Файлы и соединения.

Механизм работает следующим образом: входящее XML‑сообщение обрабатывается процессором Saxon согласно правилам, заданным в XSLT‑файле, загруженном в менеджер файлов. Формирует результат в форматах: XML, JSON, CSV, HTML, простой текст и другие.

Настройка блока

В данном разделе описаны параметры блока XSLT, которые необходимо заполнить при его настройке.

Базовые параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Загрузить схему или темплейтВ данном поле вы можете выбрать или загрузить схему или шаблон, выбрав его из списка загруженных файлов или в файловом навигаторе.Файл
Allow StAXAllowStAXПараметр определяет, разрешено ли использовать StAX (Streaming API for XML) в качестве реализации интерфейса javax.xml.transform.Source при выполнении XSLT‑преобразований.TrueЛогическое значение
Allow Template From HeaderAllowTemplateFromHeaderОпределяет разрешать ли использовать шаблон ресурса из заголовка или нет (по умолчанию false). Включение этого параметра позволяет указывать динамические шаблоны через заголовок сообщения. Однако это может рассматриваться как потенциальная уязвимость системы безопасности, если заголовок исходит от злоумышленника, поэтому используйте его с осторожностью.FalseЛогическое значение
Content CacheContentCacheОпределяет кэшировать ли содержимое ресурса (файл таблицы стилей) при его загрузке на старте. Если установлено значение false, файл таблицы стилей будет перезагружаться при обработке каждого сообщения.TrueЛогическое значение
Delete Output FileDeleteOutputFileЕсли у вас значение параметра Output установлено file, то этот параметр определяет, следует ли удалять выходной файл после завершения обработки. Например, если выходной файл является временным, его лучше удалять после использования.FalseЛогическое значение
Fail On Null BodyFailOnNullBodyОпределяет следует ли генерировать исключение, если тело входного сообщения пустое (NULL).TrueЛогическое значение
OutputOutput

Определяет тип вывода.
Возможные значения:

  • string
  • bytes
  • DOM
  • file

Первые три значения параметра (string, bytes, DOM) задают сохранение в памяти. Если выбрано значение file, то файл передается непосредственно в java.io.File. Для файла вы должны указать имя файла в заголовке IN с ключом XsltConstants.XSLT_FILE_NAME. Кроме того, все пути к файлу должны быть созданы заранее, в противном случае во время выполнения будет сгенерировано исключение.

Список
Transformer Cache SizeTransformerCacheSizeКоличество объектов javax.xml.transform.Transformer, которые кэшируются для повторного использования, что позволяет избежать вызовов Template.newTransformer().Целочисленное значение

Расширенные параметры

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Lazy Start ProducerLazyStartProducer

Определяет должен ли отправитель стартовать в отложенном режиме, т.е. при получении первого сообщения. Для выявления ошибок и отладки при активации потока, выставьте значение в False.
Если поток используется редко или необходима его быстрая активация, то выставьте значение в True. Учтите, что обработка первого сообщения в этом случае будет замедлена.

FalseЛогическое значение
Entity ResolverEntityResolverЗадает пользовательский обработчик, который указывает XSLT блоку, где найти дополнительные ресурсы (например, DTD, внешние схемы) для трансформации XML с использованием движка SAXSource.Строка
Error ListenerErorListener

Позволяет настроить пользовательский обработчик ошибок, перехватывающий предупреждения и ошибки во время XSLT-трансформации. Примечание: При указании пользовательского обработчика стандартный обработчик перестает действовать. Используйте эту опцию с осторожностью.

Строка
Result Handler FactoryResultHandlerFactoryПозволяет использовать пользовательский интерфейс для обработки результата трансформации.Строка
Saxon ConfigurationSaxonConfigurationПозволяет задать пользовательскую конфигурацию процессора Saxon для расширенной настройки XSLT‑преобразований.Строка
Saxon Extension FunctionsSaxonExtensionFunctionsПозволяет использовать пользовательские функции расширения Saxon (net.sf.saxon.lib.ExtensionFunctionDefinition) в XSLT‑преобразованиях.Строка
Secure ProcessingSecureProcessingВключает безопасную обработку XML согласно javax.xml.XMLConstants (защита от XXE и других атак).TrueЛогическое значение
Transformer FactoryTransformerFactoryПозволяет задать пользовательскую фабрику XSLT‑трансформеров для расширенной настройки процесса трансформации XML.Строка
Transformer Factory ClassTransformerFactoryClassЗадает полное и однозначное имя пользовательского класса для XSLT трансформации.Строка
Transformer Factory Configuration StrategyTransformerFactoryConfigurationStrategyЗадает стратегию настройки, применяемую к только что созданным экземплярам классов трансформации.Строка
Uri ResolverUriResolverЗадает пользовательский обработчик URI.Строка
Xslt Message LoggerXsltMessageLoggerПолучатель сообщений, сгенерированных во время преобразований XSLT.Строка
DisabledDisabledОпределяет будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение