TclWiki wikitext to html translation engine

Difference between version 19 and 20 - Previous - Next
''[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?

<<categories>> Application | Wikit