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.
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.
Innerhalb reiner Xml-Darstellungen wären die drei folgenden Darstellungen äquivalent:
sd:test='A_Name = "Oberhemd"' (1)
sd:test="A_Name = "Oberhemd"" (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 = "Oberhemd""
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!