Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Übersicht über SLAX-Anweisungen

Dieser Abschnitt listet einige häufig verwendete SLAX-Anweisungen mit kurzen Beispielen und XSLT-Entsprechungen auf.

for-each-Anweisung

Die SLAX-Anweisung for-each funktioniert wie das <xsl:for-each> Element. Die Anweisung besteht aus dem for-each Schlüsselwort, einem durch Klammern getrennten Ausdruck und einem durch geschweifte Klammern getrennten Block. Die for-each Anweisung weist den Prozessor an, eine Reihe von Knoten zusammenzustellen und nacheinander zu verarbeiten. Die Nodes werden anhand des angegebenen XPath-Ausdrucks ausgewählt. Jeder der Knoten wird dann gemäß den im Codeblock enthaltenen for-each Anweisungen verarbeitet.

Der Code innerhalb der for-each Anweisung wird rekursiv für jeden Node ausgewertet, der mit dem XPath-Ausdruck übereinstimmt. Das heißt, der aktuelle Kontext wird auf jeden Knoten verschoben, der von der for-each Klausel ausgewählt wird, und die Verarbeitung erfolgt relativ zu diesem aktuellen Kontext.

Im folgenden Beispiel speichert die Variable inventory die Inventarhierarchie. Die for-each Anweisung verarbeitet rekursiv jeden chassis-sub-module Knoten, der ein untergeordnetes Element des chassis-module Knotens ist chassis . Für jedes chassis-sub-module Element, das ein mit einem part-number Wert enthält, der der angegebenen Teilenummer entspricht, wird ein message Element erstellt, das den Namen des Chassismoduls sowie den Namen und die Beschreibung des Chassis-Submoduls enthält.

Das XSLT-Äquivalent lautet:

if, else if und else Anweisungen

SLAX unterstützt if, else ifund , und else Anweisungen. Die if Anweisung ist ein bedingtes Konstrukt, das bewirkt, dass Anweisungen verarbeitet werden, wenn der angegebene XPath-Ausdruck als wahr ausgewertet wird. Dem if Konstrukt können eine oder mehrere Klauseln zugeordnet else if sein, von denen jede einen XPath-Ausdruck testet. Wenn der Ausdruck in der if Anweisung als false ausgewertet wird, überprüft der Prozessor jeden else if Ausdruck. Wenn eine Anweisung als true ausgewertet wird, führt das Skript die Anweisungen im zugehörigen Block aus und ignoriert alle nachfolgenden else if and-Anweisungen else . Die optionale else Klausel ist der Standardcode, der ausgeführt wird, wenn alle zugeordneten if Ausdrücke und else-if Ausdrücke als false ausgewertet werden. Wenn alle if and-Anweisungen else if als false ausgewertet werden und die else Anweisung nicht vorhanden ist, wird keine Aktion ausgeführt.

Bei den Ausdrücken, die in Klammern angezeigt werden, handelt es sich um erweiterte XPath-Ausdrücke, die das doppelte Gleichheitszeichen (==) anstelle des einfachen XPath-Gleichheitszeichens ()= unterstützen.

Während der Skriptverarbeitung wird eine if Anweisung, der keine OR-Anweisung else zugeordnet else if ist, in ein <xsl:if> Element umgewandelt. Wenn eine der else if oder-Klauseln else vorhanden ist, werden die Anweisung und die if zugehörigen else if und-Blöcke else in ein <xsl:choose> Element umgewandelt.

Das XSLT-Äquivalent lautet:

match-Statement

Mit der match Anweisung geben Sie grundlegende Übereinstimmungsvorlagen an, gefolgt von einem Ausdruck, der angibt, wann die Vorlage zulässig sein soll, und einem Block von Anweisungen, die in geschweifte Klammern eingeschlossen sind.

Das XSLT-Äquivalent lautet:

Weitere Informationen zum Erstellen von Übereinstimmungsvorlagen finden Sie unter Übersicht über SLAX-Vorlagen.

ns-Statement

Sie geben Namespacedefinitionen mit der SLAX-Anweisung ns an. Diese besteht aus dem ns Schlüsselwort, einer Präfixzeichenfolge, einem Gleichheitszeichen und einem Namespace-URI (Uniform Resource Identifier ). Um den Standardnamespace zu definieren, verwenden Sie nur das ns Schlüsselwort und einen Namespace-URI.

Die ns Anweisung kann nach der version Anweisung am Anfang des Stylesheets oder am Anfang eines beliebigen Blocks stehen.

Wenn die Anweisung am Anfang des Stylesheets steht, kann sie ns entweder das exclude Schlüsselwort or extension enthalten. Das Schlüsselwort weist den Parser an, dem exclude-result-prefixes extension-element-prefixes or-Attribut das Namespacepräfix hinzuzufügen.

Das XSLT-Äquivalent lautet:

version-Anweisung

Alle SLAX-Stylesheets müssen mit einer version Anweisung beginnen, die die Versionsnummer für die SLAX-Sprache angibt. Zu den unterstützten Versionen gehören 1.0, 1.1 und 1.2.