xsl:assert
Used to make assertions in the form of XPath expressions, causing a dynamic error if the assertion turns out to be false.
Category: instruction
Content:
sequence-constructor
Permitted parent elements:
any XSLT element whose content model is
sequence-constructor; any literal result element
Attributes
|
|
XPath expression to be asserted. |
|
|
Can be used to specify (part of) the content of the error message produced when the assertion is false. |
|
|
Specifies the error code associated with the error message produced when the assertion is false. |
Notes on the Saxon implementation
Following a change in the W3C specification, from Saxon 9.7 assertions are now
disabled by default. To enable assertions, use
the -ea
command line option, or the FeatureKeys.XSLT_ENABLE_ASSERTIONS configuration property,
or call XsltCompiler.enableAssertions(true)
in the s9api interface.
Details
It may be useful to add an attribute such as use-when="$DEBUG"
to
xsl:assert
instructions; the global static variable
DEBUG
can then be used to switch assertion processing on and
off. The variable might be declared as <xsl:variable name="DEBUG"
as="xs:boolean" select="true()"/>
.
Examples
The following code tests whether the value of $x
is
non-negative, and if not, fails with an error message: