[linux-l] "XML schreiben und prüfen"-Tool?

Peter Ross Peter.Ross at alumni.tu-berlin.de
Mi Apr 30 04:25:47 CEST 2003


Hallo Steffen,

> kurz: wie schreib ich effizient XML Dateien (viele Dateien,
> einfaches, recht konstantes Schema)?

Ist http://xml.apache.org/#xerces ein guter Startpunkt?

Validierender Parser z.B.

http://packages.debian.org/cgi-bin/search_packages.pl?keywords=XML&searchon=all&subword=1&version=stable&release=all

bringt ganz oben xmltex - wobei in der Beschreibung das Wort
"non-validating" etwas stört;-)

Auch wenn es ein Fremdgehen ist, schau doch mal durch

http://www.freebsd.org/cgi/ports.cgi?query=XML&stype=all

> dtdparse-2.0.b6_1
>    Parse a DTD and produce an XML document that represents it

zum Beispiel klingt doch verlockend?

Also, erst DTD, dann "Gerüst" mit dtdparse, dann ausfüllen (Curt&Paste),
dann mit xerces validieren?

> .. An Hand der plain-Text-Struktur sind etliche
> Annahmen und damit automatische Tagsetzung (als Vorstufe zur
> manuellen Arbeit) möglich, beispielsweise beginnen Überschriften
> immer nach drei Leerzeilen.

Das klingt auch nicht schlecht, aber es wird wohl doch auf
"Handprogrammierung" mit Perl herauslaufen - ich wüßte nichts besseres.
Die Struktur kennst nur Du..

Hier kommt es auf die Anzahl der Seiten an - wenn der PlainText wirklich
gut "übersetzbar" ist, lohnt sich vielleicht der Aufwand. Bei nur 10 oder
20 Seite wäre das aber wohl eher mit Kanonen auf Spatzen schießen.

Dann wäre wohl der Arbeitsablauf - Konvertierer - Validierer( - Editor -
Validierer ..)

Wenn Du das hübsch in einen Editor "einarbeitest" oder als
Klickklackknöpfe "Konvertieren"&"Validieren" auf den Desktop legst, bzw.
ein Shellscript um den Vorgang schreibst ("Erzeuge_Seite; while
${nicht_fertig}; do Editor; Validierer; done")  wird Dir der Dank der
Nutzer ewig nachschleichen..

Der vim hilft zumindest, zu sehen, ob die <> ordentlich geschlossen sind.
Aber ob er jedermanns erste Wahl ist? Nimm $EDITOR und such dafür einen
hübschen Default.

Viel Spaß
Peter





Mehr Informationen über die Mailingliste linux-l