XSL / Die XSLT - Struktur / xsl:assert
![]() |
![]() |
➪ xsl:assert ist in der Lage, den Programmablauf zu kontrollieren.
Siehe
<xsl:assert
test = expression
select? = expression
error-code? = { eqname } >
<!-- Content: sequence-constructor -->
</xsl:assert>
Im folgenden Beispiel wird eine Variable v0 mit dem Wert "0" initialisiert. Vor der Weiterverarbeitung mit <xsl:value-of select="1 div $v0"/> (was bei try/catch eine Durch-Null-Division auslösen würde) wird via xsl:assert der weitere Programmablauf davon abhängig gemacht, dass v0 nicht "0" ist; im anderen Fall wird das Programm abgebrochen.
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs" version="3.0">
<xsl:output method="xml"
version="1.0"
encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<ROOT>
<xsl:variable name="v0" select="xs:integer('0')"/>
<xsl:assert test="$v0 != 0">
<xsl:message>FEHLER: die Variable ist 0</xsl:message>
</xsl:assert>
<xsl:value-of select="1 div $v0"/>
</ROOT>
</xsl:template>
</xsl:stylesheet>
Der Aufruf des obigen Stylesheets wird mit dieser Meldung abgebrochen:
FEHLER: die Variable ist 0
Datei C:\wg\test.xslt: XSL-Transformation fehlgeschlagen
Die Transformation wurde durch <xsl:assert> beendet
Fehlerpfad: xsl:stylesheet / xsl:template / ROOT / xsl:assert
Details
XTMM9001: Der Abbruch einer Transformation mit <xsl:assert>
hat einen nicht rückgängig zu machenden
dynamischen Fehler verursacht.''
wg / 24. September 2020
Fragen? Anmerkungen? Tipps?
Bitte nehmen Sie Kontakt zu mir auf.
V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn
☎ 0151. 750 360 61 * eMail: info10@wilfried-grupe.de