TclWiki wikitext to html translation engine

escargo 17 May 2005 - Oh, my! How did we get something in German? Anybody know where this came from? It almost makes sense to me; certainly "API" and "XML-Form" make as much sense in English as they do in German.

But we lost this correction: See Wiki format to HTML - RS.

If someone who reads german can take a look below and help out with whatever questions are there... it would be appreciated.


Was ist das

Flat2xml ist eine API, die dafür gut sein soll, Listen von Objekten in der<br> attributzentrierten XML-Form darzustellen.

 # Flat2xml is an API for displaying lists of objects in an attribute-centric XML-Form.

Die Konvertierungsvorschriften werden selber auch in der XML-Form definiert.

 # The XML-Form also defines the conversion-procedures.

Diese legen fest: *das XML-Format, d.h. die Tags mit den Atttributen und der hierarchischen Anordnung *wie werden die Daten berechnet bzw. wie werden den Attributen die Werte zugewiesen. *Woher kommen die Werte.

API-Schnittstelle

Die Schnittstelle besteht aus zwei Komponenten: *Flat2XML-Konvertierungsvorschrift *Java-Schnittstelle

Die Syntax, Semantik, Tipps etc für die Vorschriften werden weiter möglichst<br> ausführlich erklärt.

Die Java-Schnittstelle ist denkbar einfach und wird hoffentlich wenn überhaupt,<br> dann nur unwesentliche Änderungen erfahren.

Java-Schnittstelle

Die homogene Liste myVector sei gegeben.<br> Sie soll in der XML-Form dargestellt werden.

Man erzeugt eine Instanz der Klasse Flat2XMLConvertor.<br> Der Flat2XMLConvertor-Konstruktor hat folgende Parameter: *Pfad zu der Flat2XML-Konvertierungsvorschrift *ein Gebilde namens ProcessRelief, anhand dessen man definiert **was das Ausgabeziel ist **welche (beliebige) Parameter dem Prozess mitgegeben werden **wie auf die Ereignisse während der Konvertierung reagiert wird. *DebugSwitch

Für Anwender relevante Klassen

Interface ProcessRelief

Der Sinn des Interfaces ist paar Zeilen weiter oben erklärt.<br> Durch das Implementieren von print() und println() legt man fest,<br> wohin der XML-Strom geschrieben wird.

Zur Zeit gibt es: *einen DefaultRelief, der einen java.io.Writer oder einen java.io.OutputStream bekommen kann, in die er den XML-Strom schreibt. *einen DCSProcessRelief, der auf den DCS-Server die Daten schreibt.

Ein wesentlicher Punkt soll noch erwähnt werden. Das Interface definiert die<br> Methode Object getParameter(String name).<br> Diese kann von den Berechnungen (Vorschrift) aufgerufen werden, wodurch man die<br> Möglichkeit hat, die Konvertierung zu steuern oder ihr zusätzliche Informationen mitzugeben.

Die Implementierungen von ProcessRelief bekommen einen Flat2XMLListener.

Flat2XMLListener hat folgende drei Methoden: *void onWarning(String message, Object o, Throwable t); :Diese Methode wird vom Konvertierungsprozess aufgerufen, wenn eine zulässige, :aber doch nicht ganz glatte Situation zustande kommt. *void onError(String message, Object o, Throwable t); :Wird aufgerufen, wenn ein Fehler bei der Berechnung auftrit oder die :Berechnungen eine Situation ergeben, die durch die Konvertierungsvorschrift :als fehlerhafte zu defenieren ist. *void onProcess(Object o); :Listenelement o kommt in die Verarbeitung rein.

Es ist gut denkbar, dass die aufrufenden Stellen dieses Interface implementieren,<br> weil sie wissen, wie auf die beschriebenen Ereignisse zu reagieren ist.<br> Im einfachsten Fall kann die Reaktion das Protokolieren sein.

Konvertierungsvorschrift

Wie schon erwähnt, die Vorschriften werden in der XML-Form verfasst.

Detailierte Erklärung ist in der Datei Flat2XMLDefinition.txt.

An der Stelle seien nur paar allgemeine Worte gesagt.

Angenommen, die zu verarbeitende Liste enthält Elemente vom Typ<br> Wohnung und man wolle als Ergebnis die XML-Ausgabe im folgenden Format haben:

<code>

 <Wohnung preis="120000" flaeche="82">
  <Zimmer zweck="Kinderzimmer" flaeche="18" ausrichtung="sued" balkon="false"/>
  <Zimmer zweck="Schlafzimmer" flaeche="15" ausrichtung="nord" balkon="false"/>
 </Wohnung>

</code>

Die Tags Wohnung und Zimmer kommen zustande durch folgende Fragmente in der<br> Flat2Xml-Definition

<code>

 <object name="Wohnung">
  <parameter name="zweck"/>
  <parameter name="flaeche"/>
  <parameter name="ausrichtung"/>
  <parameter name="balkon"/>
 </object>

</code>

Die Definitionen von Parametern sind nicht vollständig, sie beschreiben nicht,<br> wie die Werte berechnet werden. Dieses Thema ist der Gegenstand der o.g.<br> Flat2XMLDefinition.txt-Datei.


etwas schön an Jahren. wird an einer Straßenbeuge und von einem Kraftfahrzeuge überfahren

"Wie war"(spricht er;sich erhebend und entschloßend und weiterlebend) "möglich, wie dies unglück,ja-: daß es überhaupt gescha?