Sql-und-Xml - Home

Xml lernen

Hinweise zu den Freeware-Tools-Konfigurationsdateien

Aus den allgemeinen Regeln zur Erstellung von Xml-Dateien ergeben sich einige Konsequenzen für die Freeware - Tools, welchen Konfigurationsdateien im Xml-Format beiliegen.
  • Attributwerte müssen immer in einer Zeile stehen. Von Xml her sind Umbrüche erlaubt. Diese würden jedoch mit an die Anwendung übergeben werden und dort Fehler produzieren, da es den Regeln für Programmparameter widerspricht. Die in den untenstehenden Beispielen eingefügten Umbrüche erfolgen nur aus Gründen der Xml- bzw. Html-Darstellung.
  • Attributwerte können sowohl in einfache als auch in doppelte Anführungszeichen eingeschlossen werden. Im Wert kann der andere Ausdruck direkt verwendet werden. Deshalb sind die folgende Codierungen Xml-konform:
    <add EventLog="Application" source='MSSQLSERVER'
    	EntryType="'Information', 'Warning'"/>
    
    <add EventLog='Application' source="Security"
    	cmd='c:\eigene Auswertungen\Auswertung.cmd'
    	cmd-param='"C:\eigene Auswertungen\auswertung.txt" %EVENTLOG%'/>
    Im ersten Beispiel ist es unerheblich, ob die Werte für EventLog und source in " oder in ' eingeschlossen werden. Soll im Sinne einer ODER-Verknüpfung nach einem von mehreren Texten gesucht werden, so können Ausdrücke verwendet werden, wie sie in Datenbank-Where-Ausdrücken möglich sind: Der gesamte Ausdruck wird von " umrahmt, innen folgen einzelne, durch ' markierte und durch Komma getrennte Texte.
  • Im zweiten Beispiel muß der Befehlszeilenausdruck nicht selbst in Hochkommata eingeschlossen werden. Die Parameterliste muß den Regeln für Parameter in Konsolenanwendungen entsprechen. Soll ein Parameter - wie im obigen Beispiel - mit Leerzeichen an das Programm übergeben, so fordern die Regeln für Konsolenaufrufe, daß der Parameter in " eingeschlossen wird. Da der Xml-Attribut-Wert von ' markiert wird, kann " direkt verwendet werden.
  • Benötigen Sie in der Parameterliste die Sonderzeichen <, >, &, " oder ', etwa, weil Sie die Ausgabe in eine Datei umleiten möchten, so wäre bei direkter Verwendung dieser Zeichen die Konfigurationsdatei keine gültige Xml-Datei mehr (mit Ausnahme des obigen Beispiels). Diese Zeichen müssen deshalb durch ihre Entity-Ausdrücke ersetzt werden. Folglich:
    	<		ersetzen Sie durch		&lt;
    	>		ersetzen Sie durch		&gt;
    	&		ersetzen Sie durch		&amp;
    	"		ersetzen Sie durch		&quot;
    	'		ersetzen Sie durch		&apos;
    Beim Parsen des Xml-Dokumentes werden die Entities durch ihren Ersetzungstext ausgetauscht, so daß dem zu startenden Systemprozeß die korrekten Parameter übergeben werden.
  • Beispiel:
    <add EventLog="Application" source='MSSQLSERVER'
    	cmd='cmd.exe'
    	cmd-param='/c echo ^&amp; %SOURCE% %EVENTID% &gt;&gt;
    		"C:\eigene Auswertungen\own-logon.txt"'/>
    Dies startet cmd.exe mit der Befehlszeile
    /c echo ^& %SOURCE% %EVENTID% >> "C:\eigene Auswertungen\own-logon.txt"
    Die Datei own-logon.txt enthält schließlich Ausdrücke der Form
    & MSSQLSERVER 17055
    falls es sich bsp. um fehlgeschlagene Anmeldungsversuche handelt.
    ^ maskiert für die Kommandozeile die dort relevanten Sonderzeichen, hier also &. Für Xml ist dies kein spezielles Zeichen und kann direkt verwendet werden. Um die mit echo erzeugte Ausgabe in eine Datei umzuleiten, wird >> benötigt. Dies muß durch &gt;&gt; innerhalb von Xml maskiert werden. Der gesamte Attributwert wird von ' umschlossen, also kann intern " ohne Maskierung verwendet werden.

© 2003-2017 Jürgen Auer, Berlin.