Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Verstehen des SLAX-Prozessors (slaxproc)

slaxproc – Überblick

Die Libslax-Distribution enthält die libslax-Bibliothek, die einen SLAX-Writer und SLAX-Parser, einen Debugger, einen Profiler und den SLAX-Prozessor (slaxproc) umfasst. Der SLAX-Prozessor ist ein Befehlszeilentool, das die SLAX-Skriptsyntax validieren, zwischen SLAX- und XSLT-Formaten konvertieren und SLAX-Skripte formatieren, debuggen oder ausführen kann.

Der SLAX-Prozessor wird über die Befehlszeile mit dem slaxproc Befehl aufgerufen. Der slaxproc Befehl akzeptiert Befehlszeilenargumente, die den Modus des Prozessors, alle Verhaltensoptionen und die erforderlichen Ein- und Ausgabedateien angeben.

Die Syntax für den slaxproc Befehl lautet:

Der slaxproc-Modus definiert, welche Funktion der Prozessor ausführt. slaxproc-Optionen umfassen Dateioptionen und gemeinsame Optionen. Dateioptionen werden verwendet, um die Skriptdatei, die Eingabedatei, die Ausgabedatei und die Ablaufverfolgungsdatei anzugeben. Zu den gängigen Optionen gehören zusätzliche Funktionen, die vom SLAX-Prozessor bereitgestellt werden, wie z. B. ausführliche Debugging-Ausgaben.

Sie können auf die slaxproc-Hilfe zugreifen, indem Sie den slaxproc Befehl mit der --help oder -h Option ausstellen.

Weitere Informationen zum SLAX-Prozessor finden Sie unter slaxproc: Der SLAX-Prozessor.

slaxproc-Modi

Der slaxproc-Modus definiert, welche Funktion der Prozessor ausführt. Der Standardmodus ist --run oder -r. Wenn Sie einen Modus nicht explizit angeben, führt der SLAX-Prozessor ein Skript aus. Tabelle 1 zeigt die Slaxproc-Modi und ihre Funktionen.

Tabelle 1: Slaxproc-Modi

Modus

Beschreibung

--‍check
 -c

Führen Sie eine Syntax- und Inhaltsüberprüfung für ein SLAX-Skript durch und melden Sie Fehler. Dieser Modus eignet sich für off-box-Syntaxprüfungen, bevor Skripte installiert oder auf ein Gerät mit Junos OS hochgeladen werden.

--‍format
 -F

Formatieren Sie ein SLAX-Skript, korrigieren Sie Einzug und Abstand zum bevorzugten Stil.

--‍json-‍to-‍xml

Transformieren Sie JSON-Eingaben in XML mithilfe der in http://juniper.github.io/libslax/slax-manual.html#json-elements definierten Konventionen.

--‍run
 -r

Führen Sie ein SLAX-Skript aus. Dies ist der Standardmodus. Der Skriptname, der Eingabedateiname und der Ausgabedateiname können mithilfe von Befehlszeilenoptionen, Positionsargumenten oder einer Kombination aus beiden angegeben werden. Input Defaults to Standard Input, Output Defaults to Standard Output.

--‍show-‍select

Zeigen Sie eine XPath-Auswahl aus dem Eingabedokument an. Dieser Modus wird verwendet, um Auswahlen aus einem Skript für die externe Nutzung zu extrahieren. Auf diese Weise kann der Verbraucher einen SLAX-Parser vermeiden, hat aber dennoch Einblick in den Inhalt des Skripts.

--show-‍variable

Zeigt den Inhalt einer globalen Variablen an. Dieser Modus wird verwendet, um statische Variablen für die externe Nutzung zu extrahieren. Dies ermöglicht es dem Verbraucher der Daten, einen SLAX-Parser zu vermeiden, hat aber dennoch Zugriff auf den statischen Inhalt globaler Variablen, wie z. B. der $arguments Variablen.

--‍slax-‍to-‍xslt
 -x

Konvertieren Sie ein SLAX-Skript in das XSLT-Format. Der Skriptdateiname und der Ausgabedateiname werden mithilfe von Befehlszeilenoptionen, Positionsargumenten oder einer Mischung aus beiden bereitgestellt.

--‍xml-‍to-‍json

Konvertieren Sie XML in JSON mit den in http://juniper.github.io/libslax/slax-manual.html#json-elements definierten Konventionen.

--‍xpath xpath
 -X xpath

Wählen Sie Daten aus dem Eingabedokument aus, die dem angegebenen XPath-Ausdruck entsprechen.

--‍xslt-‍to-‍slax
 -s

Konvertieren Sie ein XSLT-Skript in das SLAX-Format. Der Skriptdateiname und der Ausgabedateiname werden mithilfe von Befehlszeilenoptionen, Positionsargumenten oder einer Mischung aus beiden bereitgestellt.

slaxproc-Optionen

Die slaxproc-Optionen umfassen Dateioptionen und gängige Optionen. Dateioptionen werden verwendet, um die Skriptdatei, die Eingabedatei, die Ausgabedatei und die Ablaufverfolgungsdatei anzugeben. Zu den gängigen Optionen gehören zusätzliche Funktionen und Optionen, die vom SLAX-Prozessor bereitgestellt werden, z. B. ausführliche Debugging-Ausgaben. Tabelle 2 listet die allgemeinen Slaxproc-Optionen und Dateioptionen auf.

Tabelle 2: slaxproc – Gemeinsame Optionen und Dateioptionen

Option

Beschreibung

--‍debug
 -d

Aktivieren Sie den SLAX/XSLT-Debugger.

--‍empty
 -E

Geben Sie ein leeres Dokument als Eingabedatensatz ein. Dies ist nützlich für Skripte, die keine aussagekräftigen Informationen erwarten oder benötigen.

--‍expression <expr>

Konvertieren Sie einen SLAX-Ausdruck in einen XPATH-Ausdruck oder umgekehrt, je nachdem, ob --slax-to-xslt oder --xslt-to-slax vorhanden ist.

--‍exslt
 -e

Aktivieren Sie die EXSLT-Bibliothek, die eine Reihe von Standarderweiterungsfunktionen bietet. Weitere Informationen finden Sie in http://www.exslt.org .

--‍help
 -h

Zeigen Sie die Hilfenachricht an und beenden Sie das Netzwerk.

--‍html
 -H

Analysieren Sie Eingabedaten mit dem HTML-Parser, der sich von XML unterscheidet.

--‍ignore-‍arguments

Verarbeiten Sie keine weiteren Argumente. Dies kann kombiniert #! werden, um verschiedene Stile der Argument-Parsing zu ermöglichen.

--‍include <dir>
 -I <dir>

Fügen Sie ein Verzeichnis zur Liste der Verzeichnisse hinzu, die bei verwendung von Include- und Importdateien durchsucht werden. Alternativ können Sie die SLAXPATH-Umgebungsvariable definieren, um eine durch Doppelpunkt getrennte Liste von Verzeichnissen für die Suche anzugeben.

--‍indent
 -g

Eindrückungs-Ausgabe. Diese Option ist identisch mit dem verhalten, das von output-method { indent 'true'; }.

--‍input <file>
 -i <file>

Lesen Sie Eingaben aus der angegebenen Datei.

--‍json-‍tagging

JSON-Tag-Elemente mit dem Attribut 'json', während die Eingabe in XML konvertiert wird. Auf diese Weise können Sie den --format Modus verwenden, um die Daten wieder in das JSON-Format zu transformieren.

--‍keep-‍text

Fügen Sie beim Erstellen eines Skripts aus Minivorlagen keine Vorlage hinzu, um normalen Text zu verwerfen. Standardmäßig zeigt XSLT unübertroffene Textdaten an. Diese Option behält das Standardverhalten bei, anstatt es durch die Verwerfen-Aktion zu ersetzen.

--‍lib <dir>
 -L <dir>

Fügt der Liste der Verzeichnisse, die mit Erweiterungsbibliotheken durchsucht werden, ein Verzeichnis hinzu.

Alternativ können Sie die SLAXEXTPATH-Umgebungsvariable definieren, um eine durch Doppelpunkt getrennte Liste von Erweiterungsbibliotheksstandorten für die Suche anzugeben.

--‍log <file>

Schreiben Sie Protokolldaten in die angegebene Datei.

--‍mini-‍template <code>
 -m <code>

Übergeben Sie ein einfaches Skript über die Befehlszeile. Das Argument ist in der Regel eine Vorlage, z. B. eine Named- oder Match-Vorlage.

--‍name <file>
 -n <file>

Lesen Sie das SLAX-Skript aus der angegebenen Datei.

--‍no-‍json-‍types <dir>

Lassen Sie Attribute weg type , wenn Sie den slaxproc-Modus --json-‍to-‍xml verwenden, um JSON-Eingabe in XML zu transformieren.

--‍no-‍randomize

Initialisieren Sie den Zufallsgenerator nicht. Dies ist nützlich, wenn das Skript identische Daten für eine Reihe von Aufrufen zurücksendet. Diese Option wird in der Regel nur während der Tests verwendet.

--‍no-‍tty

Verwenden Sie tty nicht für den SLAX-Debugger und andere Tty-bezogene Eingabeanforderungen.

--‍output <file>
 -o <file>

Schreiben sie die Ausgabe in die angegebene Datei.

--‍param <name> <value>
 -a <name> <value>

Übergeben Sie einen Parameter an das Skript mithilfe des bereitgestellten Namens- und Wertpaars. Alle Parameter sind Zeichenfolgenparameter, sodass normale Quotierungsregeln gelten.

--‍partial
 -p

Erlauben Sie den Eingabedaten, ein partielles SLAX-Skript zu enthalten, das mit dem ‑‑slax‑to‑xslt oder -x modus verwendet werden kann, um partielle Transformationen durchzuführen.

--‍slax-‍output
 -S

Schreiben Sie die Ergebnisse mithilfe von XML im SLAX-Stil.

--‍trace <file>
 -t <file>

Schreiben Sie Trace-Daten in die angegebene Datei.

--‍verbose
 -v

Fügen Sie der Trace-Datenausgabe ausführliche interne Debugging-Ausgabe hinzu, einschließlich Aufrufen der slaxLog() Funktion.

--‍version
 -V

Versionsinformationen anzeigen und beenden.

--write-‍version <version>
 -w <version>

Schreiben Sie die angegebene Versionsnummer in die Ausgabedatei, wenn Sie ein Skript mithilfe des --xslt-‍to-‍slax -s oder des Modus konvertieren.

Diese Option kann verwendet werden, um die Konvertierung auf die Verwendung von Funktionen in bestimmten SLAX-Versionen zu beschränken. Zulässige Werte sind 1.0, 1.1, 1.2. Wenn diese Option nicht angegeben ist, wird die SLAX-Skriptversion standardmäßig auf die neueste Version festgelegt.

slaxproc File Argument Handling

Für alle Modi, außer check, haben Sie die Option, Dateiargumente positional zu referenzieren oder die Dateioptionen zu verwenden, um Ein- und Ausgabedateien anzugeben. Wenn Sie die Dateioptionen verwenden, kann in der Befehlszeile in beliebiger Reihenfolge auf die Dateien verwiesen werden, und die Dateioptionen können zwischen anderen Befehlszeilenoptionen aufgeteilt werden.

Wenn keine Eingabedatei erforderlich ist, verwenden Sie die -E Option, um ein leeres Eingabedokument anzugeben. Wenn das Argument für die Ein- oder Ausgabeoption den Wert "-" hat, wird außerdem die Standard-Ein- oder Standardausgabedatei verwendet. Drücken Sie bei Verwendung der Standardeingabe Strg+d, um das Ende der Datei zu signalisieren.

Wenn Dateien in der Befehlszeile positional referenziert werden sollen, geben Sie zuerst die Skriptdatei an, wenn sie für diesen Modus erforderlich ist, geben Sie dann die Eingabedatei an, und geben Sie zuletzt die Ausgabedatei an. Durch die positionsgenaue Referenzierung der Dateien ist slaxproc plug-kompatibel mit xsltproc.

Um Dateien mit den Werten expliziter Dateioption zu referenzieren, fügen --name Sie --output -i-odie -n--input SLAX-Skriptdatei bzw. die Ein- und Ausgabedateien ein.

Wenn keine Dateioption bereitgestellt wird, wird der Dateiname positional analysiert. Im folgenden Befehl werden die Ein- und Ausgabedateinamen mithilfe der Dateioptionen angegeben, aber der Skriptdateiname wird positional referenziert:

Um ein Skript auszuführen, für das keine Eingabedatei erforderlich ist, schließen Sie die -E Option zur Angabe eines leeren Eingabedokuments ein.

slaxproc UNIX-Scripting-Unterstützung

SLAX unterstützt das Shebang-Konstrukt (#!), sodass die erste Zeile eines Skripts mit den Zeichen "#" und "!" beginnt, gefolgt von einem Pfad zu der ausführbaren Datei, die das Skript und eine Reihe von Befehlszeilenargumenten ausführt. Zum Beispiel:

Das Betriebssystem fügt den Namen der Skripte und etwaige Befehlszeilenargumente zur Befehlszeile hinzu, die auf "#!" folgt. Durch Hinzufügen der ‑n Option können zusätzliche Argumente an die Befehlszeile übergeben werden. Flexible Argument-Analyse ermöglicht Aliase. Wenn beispielsweise die erste Zeile des Skripts lautet:

Es können weitere Argumente bereitgestellt werden:

und der daraus resultierende Befehl wird:

Wenn das Ein- oder Ausgabeargument den Wert "-" hat, wird die Standard-Ein- oder Standardausgabedatei verwendet. Dadurch kann slaxproc als herkömmlicher UNIX-Filter verwendet werden.