xsl:assert¶
Используется для создания утверждений в форме выражений XPath, вызывая динамическую ошибку, если утверждение оказывается ложным.
Доступно в XSLT 3.0. Начиная с Saxon 9.8, доступен во всех изданиях. Реализовано в Saxon-PE и Saxon-EE начиная с Saxon 9.5.
- Категория: инструкция
- Содержимое: sequence-constructor
- Допустимые родительские элементы: любой элемент XSLT, модель содержимого которого - sequence-constructor; любой литеральный элемент результата
Атрибуты¶
test
- expression
- Выражение XPath для утверждения.
select?
- expression
- Может использоваться для указания (части) содержимого сообщения об ошибке, выдаваемого, когда утверждение ложно.
error-code?
- { eqname }
- Указывает код ошибки, связанный с сообщением об ошибке, выдаваемым при ложном утверждении.
Заметки по реализации Saxon¶
В соответствии с изменениями в спецификации W3C, начиная с версии Saxon 9.7 утверждения по умолчанию отключены. Чтобы включить утверждения, используйте опцию командной строки -ea, или свойство конфигурации Feature.XSLT_ENABLE_ASSERTIONS
, или вызовите XsltCompiler.enableAssertions(true)
в интерфейсе s9api.
Подробности¶
Может быть полезно добавить атрибут типа use-when="$DEBUG"
к инструкциям xsl:assert
; глобальная статическая переменная DEBUG
может быть использована для включения и выключения обработки утверждений. Переменная может быть объявлена как <xsl:variable name="DEBUG" as="xs:boolean" select="true()"/>
.
Примеры¶
Следующий код проверяет, является ли значение $x
неотрицательным, и если нет, то выдает сообщение об ошибке:
1 |
|