Ein TXSTEP-Skript beginnt immer mit der von anderen XML-Dateien bekannten Deklaration des verwendeten XML-Standards:
<?xml version="1.0" encoding="UTF-8"?>
Darauf folgt das Wurzeltag für TXSTEP-Skripte „SCRIPT“. Bei „SCRIPT“ müssen die verwendeten Namensräume angegeben werden:
<script xmlns="http://www.xstep.org" xsi:schemaLocation="http://www.xstep.org relativer/Pfad/zur/txstep.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
Dieser Header ist in allen TXSTEP-Skripten gleich, der Pfad zur txstep.xsd muss allenfalls angepasst werden. Innerhalb des Wurzelelements „SCRIPT“ besteht ein Skript aus zwei Teilen: Im Element „VARIABLES“ können Variablen definiert werden, die für das ganze Skript gelten. Anschliessend an das Element „VARIABLES“ folgen die Anweisungen, die ein Skript ausführen soll.
<?xml version="1.0" encoding="UTF-8"?> <script xmlns="http://www.xstep.org" xsi:schemaLocation="http://www.xstep.org relativer/Pfad/zur/txstep.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > <variables> <!-- Hier können Variablen, u. a. für den Zugriff auf Dateien, definiert werden --> </variables> <!-- Hier werden die Verarbeitungsanweisungen für das Skript angegeben --> </script>
Um innerhalb eines TXSTEP-Skripts auf Dateien zugreifen zu können, müssen diese innerhalb des Elements „VARIABLES“ mit dem Tag „VARIABLE“ definiert werden. Dabei stehen insgesamt sieben Werte zum Attribut „TYPE“ zur Auswahl; die ersten drei sind für den Zugriff auf Dateien wichtig:
Für existierende Dateien muss als Typ „permanent-file“ angegeben werden. Ihr Format (TUSTEP- oder Fremddatei) wird automatisch festgestellt. Handelt es sich um eine Fremddatei, so kann mit dem Attribut „code“ die dort verwendete Codierung angegeben werden. Fehlt das Attribute „code“, so wird anhand des ersten Satzes der Datei geprüft, ob es sich um eine in UTF-8 codierte XML-Datei handelt; wenn ja, wird „code=UTF-8“, andernfalls „code=ANSI“ angenommen.
Einbindung einer in UTF-8 codierten XML-Datei mit lesendem Zugriff:
<variables> <variable type="permanent-file" name="source">file:///Absoluter/Pfad/zur/Datei.xml</variable> </variables>
Bei permanenten Dateien, auf die auch geschrieben werden soll, ist zudem mit dem Attribut „option“ anzugeben, ob bereits in dieser Datei existierende Daten überschrieben werden sollen („option=„erase““) oder ob die Daten ans Datei-Ende angehängt werden sollen („option=„append““). Für lesenden Zugriff ist „option=„read““ optional.
Bei neu einzurichtenden Dateien müssen außerdem Angaben zu „format“ und - bei Fremddateien - zu „code“ gemacht werden. Beispiel:
<variable type="permanent-file" name="destination" format="tustep" option="erase">file:///Absoluter/Pfad/zur/Datei.tf</variable>
Für das Anlegen einer Scratch-Datei müssen nur die Attribute „TYPE“ und „NAME“ angegeben werden:
<variable type="scratch-file" name="temp1"/>
Im oXygen XML-Editor kann über das Menu „Werkzeuge“ ein Button eingerichtet werden, über den das jeweils aktuell geöffnete Skript ausgeführt werden kann, sowie ein Button zum Anzeigen der log-Datei mit dem Ablaufprotokoll.
Steht der oXygen XML Editor nicht zur Verfügung, so können TXSTEP-Skripte auf drei verschiedene Arten aufgerufen werden:
Absoluter\Pfad\zur\txstep.bat Absoluter\Pfad\zum\Skript\xxx.xml
Absoluter\Pfad\zur\txstep.bat Absoluter\Pfad\zum\Skript\xxx.xml"
#makro $$ execute "Absoluter\Pfad\zur\txstep.bat Absoluter\Pfad\zum\Skript\xxx.xml" *eof
Absoluter\Pfad\zur\log.bat
Absoluter\Pfad\zur\log.bat
- [wilhelmott | wilhelmott]
Eine kurze (englische) Beschreibung der Syntax, die den search- und exchange-tables zugrunde liegt, finden Sie hier.
Die Such- und Austauschtabellen erlauben umfangreiche und effiziente Such- und Austauschoperationen für eine Vielzahl von Aufgaben (Auswahl, Modifikation, Erstellung von Sortierschlüsseln, …) in TXSTEP-Skripten.
Please consult the short description of the syntax used in search-tables and exchange-tables which allow powerful and efficient search and replace operations for a variety of purposes (selecting, text modification, building sort keys, …) in TXSTEP scripts.