AUF DIESER SEITE
Übersicht über SLAX-Elemente und Elementattribute
SLAX-Elemente
SLAX-Elemente werden nur mit dem öffnenden Tag geschrieben. Der Inhalt des Tags wird unmittelbar nach dem öffnenden Tag angezeigt. Der Inhalt kann entweder ein einfacher Ausdruck oder ein komplexerer Ausdruck sein, der in geschweiften Klammern platziert wird. Zum Beispiel:
<top> {
<one>;
<two> {
<three>;
<four>;
<five> {
<six>;
}
}
}
Das XSLT-Äquivalent lautet:
<top> <one/> <two> <three/> <four/> <five> <six/> </five> </two> </top>
Durch die Verwendung dieser Verschachtelungstechniken und das Entfernen des schließenden Tags wird die Unordnung verringert und die Codeklarheit erhöht.
SLAX-Elementattribute
SLAX-Elementattribute folgen dem XML-Stil. Attribute sind im öffnenden Tag enthalten und bestehen aus einem Attributnamens- und einem Wertpaar. Die Attributsyntax besteht aus dem Attributnamen, gefolgt von einem Gleichheitszeichen und dem Attributwert in Anführungszeichen. Mehrere Attribute werden durch Leerzeichen getrennt.
<element attr1="one" attr2="two">;
Während XSLT Attributwertvorlagen mit geschweiften Klammern zulässt, verwendet SLAX die Syntax für normale Ausdrücke. Attributwerte können jede beliebige XPath-Syntax enthalten, einschließlich Zeichenfolgen in Anführungszeichen, Parameter, Variablen, Zahlen und den SLAX-Verkettungsoperator, der ein Unterstrich (_) ist. Im folgenden Beispiel hat das SLAX-Element location zwei Attribute state und zip:
<location state=$location/state zip=$location/zip5 _ "-" _ $location/zip4>;
Das XSLT-Äquivalent lautet:
<location state="{$location/state}"
zip="{concat($location/zip5, "-", $location/zip4}"/>
In SLAX werden geschweifte Klammern, die in Anführungszeichenfolgen platziert werden, nicht als Attributwertvorlagen interpretiert. Stattdessen werden sie als geschweifte Klammern im Klartext interpretiert.
Eine Escape-Sequenz bewirkt, dass ein Zeichen als Nur-Text und nicht als spezieller Operator behandelt wird. In HTML bewirkt beispielsweise ein kaufmännisches Und-Zeichen (&) gefolgt von lt einem Kleiner-als-Symbol (), dass das Kleiner-als-Symbol (<) ausgegeben wird.
In XSLT sind die doppelten geschweiften Klammern ({{ und }}) Escape-Sequenzen, die dazu führen, dass öffnende und schließende geschweifte Klammern als Nur-Text behandelt werden. Wenn ein SLAX-Skript in XSLT konvertiert wird, werden die geschweiften Klammern in Anführungszeichen in doppelte geschweifte Klammern konvertiert:
<avt sign="{here}">;
Das XSLT-Äquivalent lautet:
<avt sign="{{here}}"/>