Bloss eine Idee

Thomas Berger ThB.com at t-online.de
Do Sep 28 19:54:46 CEST 2000


Lieber Herr Hoeppner etc.

Dierk Hoeppner wrote:

> Tja, was? Eine allegro-Zeile hat in sich schon mal wenigstens eine if-
> Abfrage, ohne das man was tun müsste Und die Bearbeitung wird
> sofort nach einer Manipulation abgebrochen, wenn der Arbeitstext
> leer ist. Nur das in einer der anderen Sprachen zu programmieren
> ist vielmehr Aufwand.

awk (oder sed, muesste ich nachsehen) haben schon vor
Urzeiten diesen Ansatz gehabt, "data driven" heisst
der Terminus dafuer, glaube ich: Jede Anweisung
beginnt mit einer Bedingung, die zutreffen muss,
damit die Anweisung abgearbeitet wird. Will man etwas
"immer", oder gar nur beim ersten Datensatz ausfuehren, 
bedarf es gewisser Klimmzuege.


>                        Und die bedingten Postfixe sind manchmal
> sehr praktisch.

Halte ich fuer einen Designfehler:

1. komme ich fast immer auf Loesungen, die bedingte Praefixe
   benoetigen wuerden 

2. Habe ich bei HANS gelernt (wo oft Durchschuesse zwischen
   Absaetzen stehen sollen und "einfache" Zeilenbrueche
   zwischen Wiederholkategorien), dass man solche
   Postfixmechanismen als mehrstufige Hierarchien braucht:
   Zwischen einzelnen Fussnoten etwa gewisse Einleitungs-
   oder Abschlusszeichen (innerhalb wiederholungen derselben
   Fussnotenart natuerlich andere), vor dem gesamten
   Fussnotenblock ein Durchschuss, aber natuerlich nur
   dann, wenn es Fussnoten gibt, damit sich nicht der
   Durchschuss vor dem nichtexistierenden Fussnotenblock
   und vor dem darauf folgenden Schalgwortblock zu einem
   extrem stoerenden Doppeldurchschuss addieren.
   Geschachtelte, kaskadierende Bedingungen, die sich
   an das Vorhandensein von Elementen in einer XML-
   Struktur knuepfen wuerden und die Ausgabe von
   Prae- und Postfixen steuern, sind genau das, was
   die Exportsprache im Falle von HANS schmerzlich 
   vermissen liess.

3. Auch die derzeitigen Prae- und Postfixe funktionieren
   nur dank eingebauter Magie: Ein Zwischenteil, der
   mit Punkt beginnt, verliert diesen Punkt dank dieser
   Magie, falls er an einem Zeilenbeginn steht oder auf
   einen Punkt (oder ein anderes Interpunktionszeichen?)
   aus den Daten folgt. Natuerlich nur, wenn annaehernd
   karteikartengerechte Einstellungen in den Parametern
   vorliegen. Will man (fuer HTML, RTF, etc.) auf 
   Endloszeilen umstellen, bricht viel von dieser
   versteckten Funktionalitaet zusammen und man muss
   sehr viele Parameterdateien gerade an den komplizierten
   Stellen komplett umschreiben.

   
> > Mit avanti hat man im Moment mindestens eine Sprache mehr,
> > naemlich die einschlaegigen allegro-Sprachen _plus_ eine
> > Steuersprache (bisher meist Perl, z.B. fuer CGI aber auch Delphi oder
> > Python).
> 
> aber die avanti-Sprache ist doch nun wirklich klein. Die große
> Schweirigkeit von Nicht-Allegrologen ist nicht dort zu sehen sondern
> im Verständnis der allegro-eigenen Datenbank-Philosophie. Es
> kommen häufig Anfragen wie "In SQL würde meine Anfrage so
> aussehen...." Das Verständnis des anderen Paradigmas ist die
> größere Hürde.

klar: Ich sehe nur keinen grossen Unterschied zwischen dem
"allegro-Paradigma" und dem von XML. Es ist nur so, dass
man nicht das SGML-Paradigma fuer XML annehmen sollte:
Im Vordergrund steht nicht ein "Dokument", wie in der
SGML-Welt. Solch ein "Dokument" waere der Katalog als
Bibliographie, insbesondere komplett serialisiert und
fuer jeden Satztyp (die Diskussion um Untersatzstrukturen
ist hier nur ein Nebenschauplatz, interessant sind
Stammsaetze etc.) ist festgelegt, an welcher Stelle
er vorkommen darf. Hat man nun etwa ein systematisch
sortiertes Dokument (das mag SGML wegen der Treppchen
besonders gern), aber eine Systematisierung, die mehrere
Notationen pro "Eintrag" zulaesst, kommt man in 
Bibliographien und SGML furchtbar ins Schwimmen: Man
muss dann duplizieren oder Verweise als neue Zusatzelemente
einfuehren, die dann aber nichts mehr mit dem "Ausgangssatz"
zu tun haben, der an einer anderen Stelle steht.

So wie ich es verstehe, kennt XML kein "Dokument"
(es sei denn, man beschreibt sein XML anhand einer
DTD, das ist aber nicht zwingend, andere Konzepte
wie die "XML Schemes" sind entwickelt, aber noch
nicht normiert?) und ist daher nicht darauf angewiesen,
dass alles in einer unverrueckbaren Ordnung steht.
Insofern darf dieses "alles" eine Datenbank sein,
die durchaus strukturell vollkommen verschiedene
Saetze (Objekt- und Normsaetze, Geschaeftsgangssaetze
etc.) enthaelt, also genau das, was in Allegro-
Datenbanken auch geschieht (auch wenn man da
eine Verfasserkategorie in einen Exemplarsatz 
schreiben kann).

viele Gruesse
Thomas Berger





Mehr Informationen über die Mailingliste Allegro