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- код ошибки в виде QNameerr:description- описание ошибки (сообщение об ошибке)err:value- объект ошибки (если доступен)err:module- URI модуля таблицы стилей, в котором произошла ошибкаerr:line-number- номер строки исходной таблицы стилей, в которой произошла ошибкаerr:column-number- для Saxon это обычно будет неизвестно (-1).
Ошибка может быть повторно отброшена с помощью функции error().