1
0
Fork 0
doc/devel/format/basics/tm-tmml.de.tm

148 lines
4.8 KiB
Tcl

<TeXmacs|1.0.4.5>
<style|tmdoc>
<\body>
<tmdoc-title|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:<verbatim|.tmml>) zu speichern oder zu
laden, können Sie das Menü <menu|File|Export|XML> bzw.
<menu|File|Import|XML>.\
<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.
<paragraph*|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 <verbatim|tmsym>-Operation zur Darstellung solcher
Zeichen).
<paragraph*|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
\ <verbatim|tm-arg> -Markierung (tag) eingeschlossen.
<with|mode|math|<sqrt|x+y>> wird so zu
<\quote-env>
<framed-fragment|<verbatim|\<less\>sqrt\<gtr\>y+z\<less\>/sqrt\<gtr\>>>
</quote-env>
linearisiert wird, während der Bruch <with|mode|math|<frac|1|2>> durch\
<\quote-env>
<\framed-fragment>
<\with|par-par-sep|0fn>
<\verbatim>
\<less\>frac\<gtr\>
\ \ \<less\>tm-arg\<gtr\>1\<less\>/tm-arg\<gtr\>
\ \ \<less\>tm-arg\<gtr\>2\<less\>/tm-arg\<gtr\>
\<less\>/frac\<gtr\>
</verbatim>
</with>
</framed-fragment>
</quote-env>
\;
dargestellt wird.
In dem Beispiel oben wurde Leerraum ignoriert. Indem man die
Standard-Variable <verbatim|xml:space> auf <verbatim|preserve> setzt, kann
man Leerraum erhalten.\
<paragraph*|Spezielle tags (Markierungen)>
Einige <TeXmacs>-Operationen werden auf eine spezielle Weise nach XML
übertragen. Die Grundoperation <markup|concat> wird einfach durch die
Verkettung von Zeichenketten ersetzt. So wird aus
<line-break><with|mode|math|<frac|1|2>+<sqrt|x+y>> einfach:
<\quote-env>
<framed-fragment|<\verbatim>
\<less\>frac\<gtr\>\<less\>tm-arg\<gtr\>1\<less\>/tm-arg\<gtr\>\<less\>tm-arg\<gtr\>2\<less\>/tm-arg\<gtr\>\<less\>/frac\<gtr\>+\<less\>sqrt\<gtr\>y+z\<less\>/sqrt\<gtr\>
</verbatim>>
</quote-env>
Auch die <markup|document> Grundoperation wird nicht explizit exportiert.
Dafür wird jedes Argument, das ein Absatz ist, in <verbatim|tm-par>
Markierungen eingeschlossen. Z.B. wird das Zitat
<\quote-env>
Dies ist der erste Absatz.
Das ist der zweite Absatz.
</quote-env>
linearisiert zu
<\tm-fragment>
<\with|par-par-sep|0fn>
<\verbatim>
\<less\>quote-env\<gtr\>
\ \ \<less\>tm-par\<gtr\>
\ \ \ \ Dies ist der erste Absatz.
\ \ \<less\>tm-par\<gtr\>
\ \ \ \ Das ist der zweite Absatz.
\<less\>/quote-env\<gtr\>
</verbatim>
</with>
</tm-fragment>
Eine <markup|with> Grundoperation, die nur Zeichenketten-Attribute und
Werte enthält, wird durch die normalen \ XML-Attribut-Anweisungen ersetzt.
\Rein <with|color|blue|blauer> Text'' würde zu\
<\quote-env>
<framed-fragment|<\verbatim>
ein \<less\>with color="blue"\<gtr\>blauer\<less\>/with\<gtr\> Text
</verbatim>>
</quote-env>
Umgekehrt stellt <TeXmacs> die Grundoperation <markup|attr> bereit, um XML
Markierungen in <TeXmacs> verwenden zu können. So würde das XML Fragment
<\quote-env>
<framed-fragment|<\verbatim>
ein \<less\>mytag Tier="haarig"\<gtr\>special\<less\>/mytag\<gtr\> Text
</verbatim>>
</quote-env>
importiert zu \R<inactive*|ein <my-tag|<attr|Tier|haarig>|special> Text>''.
Deshalb ist es prinzipiell möglich, <TeXmacs> als Editor für normale
XML-Dateien zu verwenden.
<tmdoc-copyright|2004|Joris van der Hoeven>
<tmdoc-license|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".>
</body>
<\initial>
<\collection>
<associate|language|german>
<associate|preamble|false>
</collection>
</initial>