XML (eXtensible Markup Language) ist ein sehr weitverbreitetes Format mit dem Daten zwischen verschiedenen Anwendungen und über das WEB ausgetauscht werden können.
Zunächst aber müssen die Daten in XML-Form gebracht werden. Hierfür ist TextTransformer ein ideales Werkzeug, weil mit ihm relativ einfach Parser für die verschiedenartigsten Texte hergestellt werden können. Die Funktionen, die dann nötig sind, um aus dem geparsten Text eine XML-Datei zu machen, können als Import-Datei für die Interpreter-Seite des TextTransformers heruntergeladen werden
Der Gebrauch der Funktionen wird mit den Projekten "Csv2XML.ttp" und "Csv2TreeXML.ttp" anhand einfacher Parser für komma-separierte Werte demonstriert.
In "Csv2XML.ttp" werden die Funktionen direkt während des Parsens aufgerufen. In "Csv2TreeXML.ttp" wird hingegen zuerst ein Parse-Baum aufgebaut und die Funktionen werden dann bei der Auswertung dieses Baums benutzt.
Mit diesen Parsern kann z.B. die folgende Test-Datei geparst werden:
Folgende Funktionen gibt es:
"WriteXMLtStart" schreibt den Header eines XML -Dokuments:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Csv>
"WriteTagStart" schreibt ein Tag wie: <Line>.
Falls ein Tag Attribute erhalten soll, wird "WriteTagStart" aufgesplittet in:
|
"WriteTagEnd" (="WriteXMLEnd") schreibt ein End-Tag wie: </Line>.
Der Inhalt zwischen zwei Tags wird mit "WriteXMLContent" geschrieben. Diese Funktion benutzt die "Encode"-Funktion, die einige spezielle Zeichen codiert.
Mit den vector m_vIndent und vector m_vTag werden Stacks aus Tag-Namen und Einrückungen verwaltet.
Eine elegante Möglichkeit, eine ähnliche XML-Ausgabe ohne die obigen Funktionen zu erhalten, besteht in der Benutzung eines xerces-DOM's. Dies wird mit dem folgenden Projekt demonstriert:
to the top |