Das sd:when- Element

Beim Verarbeiten des übergeordneten sd:choose -Elements wird geprüft, ob der Wert des Attributes sd:test zu 'True' ausgewertet werden kann. Fall ja, wird der Content des aktuellen Elements weiterverarbeitet, falls nein, wird das nächste sd:when-Element geprüft bzw. schließlich der sd:otherwise -Content ausgegeben.
Typ
Parent-Elemente
Attribute
sd:test *
Innere Elemente
Beispiele
Die Verwendung des Attributes sd:test unterscheidet sich zwischen den drei übergeordneten Varianten sd:choose , sd:choose-null und sd:choose-url . Im ersten Fall muß das Attribut eine komplette Bedingung mit einem Vergleichsoperator (=, <, >, !=) enthalten. Ferner können Spaltennamen genutzt werden, die im Kontext gültig sind. Im zweiten Fall ist nur ein Wert notwendig, der als gültiger Spaltenname im Kontext betrachtet wird. Im dritten Fall ist nur ein Wert notwendig, der als Text interpretiert wird und mit dem per Url übergebenen Wert verglichen wird.

  • Beispiel für die Verwendung beim sd:choose -Element:
    <sd:when sd:test="A_Name = 'Oberhemd'">
    Hier wird dieses sd:when-Element für alle Zeilen ausgeführt, in welchen der Wert von A_Name = 'Oberhemd' ist.
  • Beispiel für die Verwendung beim sd:choose-null -Element:
    <sd:when sd:test="A_Name">
    Nur wenn für die Zeile die Zelle 'A_Name' nicht leer ist, wird das sd:when - Element ausgeführt.
  • Beispiel für das sd:choose-url -Element:
    <sd:choose-url sd:name='myParam'>
      <sd:when sd:test="i1">
        i1 wurde übergeben
      </sd:when>
      <sd:otherwise>
        etwas anderes wurde übergeben
      </sd:otherwise>
    </sd:choose-url>
    Nur wenn die Seite in der Form
    seitenname.html?myParam=i1
    aufgerufen wurde, wird das obere sd:when - Element ausgeführt. In allen anderen Fällen wird der Text 'etwas anderes wurde übergeben' erzeugt.
Bemerkungen
Innerhalb reiner Xml-Darstellungen wären die drei folgenden Darstellungen äquivalent:
sd:test='A_Name = "Oberhemd"' (1)

sd:test="A_Name = &quot;Oberhemd&quot;" (2)

sd:test="A_Name = 'Oberhemd'" (3)
Innerhalb der hiesigen Verwendung sollten jedoch Variante 2 bzw. 3 genutzt werden.

Grund: Beim Speichern einer Ausgabeseite wird diese als Xml-Dokument geladen und anschließend wieder als Text exportiert. Dabei werden alle Attributwerte standardmäßig in doppelte Hochkommata (" ... ") eingeschlossen. Die Variante (1) wird dann als

sd:test="A_Name = &quot;Oberhemd&quot;"
ausgegeben. Diese Veränderung wird vermieden, indem entweder sofort die Variante (2) genutzt oder für die interne Darstellung Variante (3) mit einfachen Hochkommata innen verwendet wird.


Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2019 Jürgen Auer, Berlin.