ttlogo.jpg Freie TextTransformer Projekte
Start
Text2HTML
Wikipedia
Yacc2TT
Delphi-Parser
Java-Parser
C-Präprozessor
C-Parser
HTML4
Nützliches
XML-Writer
MergeHTML
RtfCheck
Zahl2Nombre
MIME-Parser
Spamfilter
Weitere Beispiele
Freie Komponenten
  Minimal Website   Impressum

XML-Writer

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

XML_Writer.tte

Der Gebrauch der Funktionen wird mit den Projekten "Csv2XML.ttp" und "Csv2TreeXML.ttp" anhand einfacher Parser für komma-separierte Werte demonstriert.

Csv2XML.ttp
Csv2TreeXML.ttp

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:

Csv2XMLtest.txt

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:

  • "WriteTagOpen" schreibt "<Line"
  • "WriteAttibute" schreibt ein Attribut wie: "Number=1"
  • "WriteTagClose" schreibt ">"

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

Csv2DOMXML.ttp

Letztes Update: 09.04.08
 to the top