Перейти к содержанию

xsl:catch

В сочетании с xsl:try инструкция xsl:catch позволяет восстанавливать динамические ошибки.

Доступно в XSLT 3.0. Начиная с версии Saxon 9.8, доступна во всех редакциях. Реализована в Saxon-PE и Saxon-EE начиная с Saxon 9.6.

  • Содержимое: sequence-constructor
  • Допустимые родительские элементы: xsl:try

Атрибуты

errors?
tokens
Указывает, какие коды ошибок перехватываются. Если отсутствует или имеет значение *, то перехватываются все ошибки. Значение может быть списком QNames, разделенных пробелами; также можно использовать подстановочные знаки *:local или prefix:*.
select?
expression
Действие элемента может быть определено либо атрибутом select, либо вложенным конструктором последовательности.

Подробности

Можно иметь более одного xsl:catch в пределах xsl:try; используется первый, который соответствует ошибке.

Внутри xsl:catch доступен ряд переменных в пространстве имен http://www.w3.org/2005/xqt-errors:

  • err:code - код ошибки в виде QName
  • err:description - описание ошибки (сообщение об ошибке)
  • err:value - объект ошибки (если доступен)
  • err:module - URI модуля таблицы стилей, в котором произошла ошибка
  • err:line-number - номер строки исходной таблицы стилей, в которой произошла ошибка
  • err:column-number - для Saxon это обычно будет неизвестно (-1).

Ошибка может быть повторно отброшена с помощью функции error().

Ссылки

См. также

Комментарии