XML-Linearisierung

Um Kompatibilität mit XML zu erreichen, unterstützt TeXmacs auch die Linearisierung ins XML-Format. Allerdings ist das XML-Format wortreicher und schwerer lesbar als das normale TeXmacs-Format. Um eine Datei im XML-Format (mit Datei-Erweiterung:.tmml) zu speichern oder zu laden, können Sie das Menü DateiExportierenXML bzw. DateiImportierenXML.

TeXmacs-Dokumente entsprechen keinem vordefiniertem DTD, denn das für ein Dokument zutreffende DTD hängt von seinem Stil ab. Das XML-Format stellt daher nur eine XML-Darstellung von TeXmacs-Bäumen bereit. Die Syntax wurde mit dem Ziel, eine möglichst Baum-ähnliche Struktur zu erreichen, unter Verwendung konventioneller XML-Syntax entwickelt, die von den üblichen Standard-Werkzeugen unterstützt wird.

die Codierung von Zeichenketten

Die Blätter der TeXmacs-Bäume werden von der universellen TeXmacs-Kodierung in Unicode übertragen. Zeichen ohne Unicode-Entsprechung werden als Dateneinheit dargestellt (für die Zukunft planen wir eine tmsym-Operation zur Darstellung solcher Zeichen).

XML-Darstellung von normalen Operationen

Bäume mit einem einzigen Kind werden einfach durch die entsprechende XML-Operation ersetzt. Hat der Baum mehrere Kinder, wird jedes Kind in eine tm-arg -Markierung (tag) eingeschlossen. sqrt (x + y) wird so zu

<sqrt>y+z</sqrt>

linearisiert wird, während der Bruch

1
2
durch

<frac>
  <tm-arg>1</tm-arg>
  <tm-arg>2</tm-arg>
</frac>

dargestellt wird.

In dem Beispiel oben wurde Leerraum ignoriert. Indem man die Standard-Variable xml:space auf preserve setzt, kann man Leerraum erhalten.

Spezielle tags (Markierungen)

Einige TeXmacs-Operationen werden auf eine spezielle Weise nach XML übertragen. Die Grundoperation concat wird einfach durch die Verkettung von Zeichenketten ersetzt. So wird aus

1
2
+ sqrt ( x + y ) einfach:

<frac><tm-arg>1</tm-arg><tm-arg>2</tm-arg></frac>+<sqrt>y+z</sqrt>

Auch die document Grundoperation wird nicht explizit exportiert. Dafür wird jedes Argument, das ein Absatz ist, in tm-par Markierungen eingeschlossen. Z.B. wird das Zitat

Dies ist der erste Absatz.

Das ist der zweite Absatz.

linearisiert zu

<quote-env>
  <tm-par>
    Dies ist der erste Absatz.
  <tm-par>
    Das ist der zweite Absatz.
</quote-env>

Eine with Grundoperation, die nur Zeichenketten-Attribute und Werte enthält, wird durch die normalen XML-Attribut-Anweisungen ersetzt. „ein blauer Text” würde zu

ein <with color="blue">blauer</with> Text

Umgekehrt stellt TeXmacs die Grundoperation attr bereit, um XML Markierungen in TeXmacs verwenden zu können. So würde das XML Fragment

ein <mytag Tier="haarig">special</mytag> Text

importiert zu „ein <my-tag|<attr|Tier|haarig>|special> Text”. Deshalb ist es prinzipiell möglich, TeXmacs als Editor für normale XML-Dateien zu verwenden.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".