Home
Über mich
Blog
Veröffentlichungen
IT-Trainings
Impressum


xsl:assert

xsl:assert ist in der Lage, den Programmablauf zu kontrollieren.

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 Durchnulldivision auslösen würde) wird via xsl:assert der weitere Programmablauf davon abhängig gemacht, daß 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.''

qrpic/XSL302.jpg

wg / 14. Oktober 2017




Fragen? Anmerkungen? Tips?

Bitte nehmen Sie Kontakt zu mir auf (info10@wilfried-grupe.de).



Vielen Dank für Ihr Interesse an meiner Arbeit.


V.i.S.d.P.: Wilfried Grupe * Klus 6 * 37643 Negenborn

Mobil: 0151. 750 360 61 * eMail: info10@wilfried-grupe.de