Inhaltsverzeichnis

Grundlagen


Aufbau eines TXSTEP-Skripts


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>


Zugriff auf Dateien


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:

  1. permanent-file: Permanente Dateien (Fremddateien oder TUSTEP-Dateien) einer Variablen zuweisen, Zugriff lesend (Standard) oder schreibend möglich. Diese Dateien bleiben nach der Ausführung des Skripts erhalten, es sei denn sie werden explizit gelöscht.
  2. execution-file: Ist einer Variablen mit dem Attribut „type=„execution-file““ eine Datei zugewiesen, so werden die TUSTEP-Kommandos, die aus dem Skript generiert wurden, in diese Datei geschrieben, bevor sie ausgeführt werden. Sie können dort später eingesehen und/oder in einer TUSTEP-Sitzung noch einmal ausgeführt werden. Stehen schon Daten in dieser Datei, so werden sie überschrieben. Wird keine Variable vom Typ execution-file definiert, so werden die aus dem Skript generierten Kommandos in eine temporäre Datei geschrieben, die nur für die Dauer der Ausführung des Skripts existiert.
  3. scratch-file: Definition von temporären TUSTEP-Dateien. Diese Dateien werden nach der Ausführung des Skripts gelöscht.
  4. log-file: Soll das Ablaufprotokoll nicht in die Standard-Log-Datei ausgegeben werden, so kann hier eine andere Datei angegeben werden.
  5. procedure: Innerhalb des Elements procedure definierte Skripte werden permanent in diese Datei gespeichert. Sie stehen dann auch in anderen TXSTEP-Skripten als external-procedure zur Verfügung. Dazu muß dort die Datei als „external-procedure“ mit lesendem Zugriff definiert und mit einem Namen (z.B. sort-proc) versehen werden, um dann im Skript mit „call-external-procedure name=„sort-proc“…“ aufgerufen werden zu können.
  6. external-procedure: Prozeduren, die von einem anderen Skript definiert und in der angegebenen Datei gespeichert wurden, stehen als external-procecure zur Verfügung. Dazu muß die Datei als „external-procedure“ mit lesendem Zugriff definiert und mit einem Namen (z.B. sort-proc) versehen werden, um dann im Skript mit „call-external-procedure name=„sort-proc“…“ aufgerufen werden zu können.
  7. foreign-procedure: Prozeduren, die nicht mit TXSTEP- oder TUSTEP-Mitteln erstellt ind in der angegebenen Datei gespeichert wurden, stehen als foreign-procedure zur Verfügung. Dazu muß die Datei als „foreign-procedure“ mit lesendem Zugriff definiert und mit einem Namen (z.B. „ged-xsl“) versehen werden, um dann im Element „foreign“ z.B. mit „xslt xsource=„$dest1“ xdest=„$dest2“ procedure=„$ged-xsl“ saxonpath=„c:/saxon““ aufgerufen werden zu können.


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"/>


Aufruf eines TXSTEP-Skripts


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


Anzeigen der Log-Datei



Absoluter\Pfad\zur\log.bat


Absoluter\Pfad\zur\log.bat


Syntax in search-tables und exchange-tables

- [wilhelmott | wilhelmott]

de.gif 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.

gb.gif 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.