|
Ein Übersetzer will nichts mit der Frage zu tun haben, mit was für Druckattributen oder Verweisen/Links ein Textstück unterlegt wird. Aber gewisse minimale Hinweise auf das Vorhandensein von solchen Elementen sind notwendig. MLHT, eine Notation für solche minimale Markierer, wird nun in den mehrsprachigen Wiki-Quelltexten von A2E unterstützt. Zugleich steht der gesamte Funktionsumfang des Perl-Bausatzes Template zur Verfügung. |
||
1 LageWenn man etwas wie
- Die {ah dok=mlht:Spezifikation}{fn
id=mlhtspec:auch Lastenheft genannt} ist umgesetzt.
zur Übersetzung in Auftrag zu geben hat, schreibt man einen String wie sep: Die %(mh|Spezifikation|auch Lastenheft genannt) ist umgesetzt. in die Datei, die der Übersetzer als Vorlage bekommt, nämlich Und im Dokument selber
[* BLOCK mlhtspec *]{ah dok=mlht:[* tem *]}{fn
id=[* fnid *]:[* rem *]}[* END -*]
[* USE MLHT -*]
[* sep | mlht mh='mlhtspec fnid=mlhtspec tem rem'
*]
Damit wird der Block sep durch den Filter ‘mlht’ geschickt, in dem wiederum der Block mlhtspec unter dem Kürzel mh aufrufbar ist, wobei dessen (immer nur positional zu verstehende) Parameter an stelle der im Block selbst verwendeten benannten Parameters ‘tem’ (Thema) und ‘rem’ (Rhema) tritt. Def Filter ‘mlht’ steht nach einem ‘USE’-Aufruf zur beliebig häufigen Verwendung zur Verfügung. Die Grundlagen hierfür finden sich in
Auf diese Weise sorgen wir dafür, dass Übersetzer nur noch minimale Information zum Übersetzen bekommen. Bei konsequentes Weiterentwicklung des Prinzips werden wir ganz ohne @dol-Dateien auskommen. Das ist dringend nötig, denn @dol-Dateien erfordern eine Expertise die oft nicht vorhanden sein Die MLHT-Syntax ist hingegen für den Übersetzer nicht nur leicht zu schreiben sondern auch leicht zu verstehen, da sie von der Bedeutung der Blockmarkierere völlig abstrahiert: wichtig ist nur dass der gleichbedeutende Block (im obigen Beispiel der Block “Spezifikation”) gleich markiert wird. Ob “Spezifikation” nun fett gedruckt oder mit eine Link unterlegt wird, interessiert den Übersetzer nicht. Ebensowenig ob das Rhema “auch Lastenheft genannt” in Klammern dahinter oder als Deplate-Fußnote mit id=mlhtspec am unteren Rand steht. Thema-Rhema ist übrigens eine bei dieser Schreibweise häufig gerne verwendete Struktur. Auch sonst wird ein mit MLHT-Markierungen versehener Text ein wenig klarer strukturiert sein als ein normaler. Innerhalb eines solchen Textes müssen Klammerpaare immer ausbalanciert sein. So etwas wie sep2: Die %(mh|Spezifikationen 1) und 2)|auch Lastenheft genannt) ist umgesetzt. sep3: Meine %(mh|Spezifikation :(-|auch Lastenheft genannt) ist umgesetzt. würde zum Abbruch mit Fehlermeldung führen. Funktionieren würde hingegen sep4: Die %(mh|Spezifikationen (1) und (2)|auch Lastenheft genannt) ist umgesetzt. zusammen mit den genannten Blockdefinitionen und Filteraufrufen. [* sep4 | mlht *] 2 Chronik
|
||