[Allegro] a35 kurz und bündig

Thomas Berger ThB at Gymel.com
Di Mai 28 10:02:59 CEST 2013


Lieber Herr Eversberg,

>  4. Oberfläche komplett Unicode, intern aber beliebiger Zeichencode

...

> Noch etwas zum Punkt 4:
> Es soll keinen Zwang geben, eine Datenbank als solche irgendwie
> umzuformatieren, um a35 nutzen zu können, also insbes. soll der
> Zeichencode ASCII, den die große Mehrheit der Anwender einsetzt,
> nutzbar bleiben, wobei dann die Web-Schnittstelle für eine
> transparente Umwandlung in beiden Richtungen zu sorgen hat.
> Andererseits wird dennoch angestrebt, daß man UTF-8 auch als
> datenbankinterne Codierung einsetzen kann. Man wird dann ältere
> Datenbanken auch in eine solche Form umwandeln können, aber eben
> nicht müssen.
> 
> Drei Entwicklungsstadien zeichnen sich ab:
> 
> Für die interne Nutzung von UTF-8 wurde als erste Stufe, Ende
> Mai 2013 schon weitgehend realisiert, eine strukturell recht
> einfache Datenbankkonfigurierung erarbeitet. Mit dieser können
> alle Web-Funktionen, insbes. die Schreibvorgänge, umfassend erprobt
> und verfeinert werden. In diesem Moment kann das Paket a35 für
> testwillige Anwender zugänglich gemacht werden.

Ich werde aus den Beschreibungen nicht recht schlau, kann
aber meine Erfahrung beisteuern, dass es absolut einfach
ist, die Web-Anwendung ausschliesslich mit Unicode zu
betreiben. D.h. avanti (acon) ist die Instanz, die (v.a. mittels
"xcode" und "dow wX") fuer die Konversion zwischen dem
Internen Zeichensatz und einer geeigneten Darstellung von
Unicode sorgt. Falls parametrierte Ausgabe mittels Parameter-
dateien erfolgt, muessen die natuerlich auch Unicode (als
UTF-8 oder mit XML-Entitaeten) liefern.

Ein Bereich, der nach meiner Erfahrung "Verabredungen" zwischen
Web-Anwendung und "avanti" benoetigt, ist hingegen ob gerade
etwas mit oder ohne Markup geliefert wird: Die Web-Anwendung
muss wissen, ob sie "<" zu "<" machen muss bzw. "<" zu
"&lt;" und "{" zu "&#123;" oder im Gegenteil
nichts selber escapen darf.

Schwierig wird es, wenn Hyperlinks zu generieren sind: Aus
"Müller, Otto" oder der UTF-8-Version davon wird in einer
URL (in href- oder src-Attributen von HTML-Elementen) ja
"M%C3%BCller, Otto", d.h. die XML-Entitaet ist nach UTF-8
zu wandeln und dann byteweise zu escapen: Das kann allegro
eher nicht (oder zumindest nicht effizient). Nach meiner
Auffassung ist es allerdings ohnehin die Web-Anwendung die
bestimmt, welche "internen" Links sie konstruiert, d.h.
Parameterdateien sollten solche Hyperlinks gar nicht liefern,
sondern nur /Daten/, mit denen die Web-Anwendung solche Links
bauen kann.

Einzige "Baustellen" in dem Bereich sind nach meiner Erinnerung,
dass #dA (ausschalten der Akzentvertauschung) nicht oder nicht
zuverlaessig funktioniert und dass ueber die |i8/|i9-Nachlade-
befehle gesetzten Anwendervariablen #uxi bezogen auf die
Akzentvertauschung nicht in den Griff zu bekommen sind (evtl.
erinnern Sie sich an die alten Diskussionen dazu: Ein
konzeptionelles Problem).


viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro