XIST 0.4 veröffentlicht

Veröffentlicht am

Was ist neu in Version 0.4?

  • XIST benötigt nun mindestens Python2.0b1.
  • Eine Version von sgmlop mit Bugfixes findet sich auf dem FTP-Server.
  • XIST unterstützt nun vollständig Unicode. Zur Ausgabe mittels publish kann nun jedes in Python vorhandene Encoding benutzt werden (ascii, latin1, utf8, utf16, ...)
  • Das Publishing-Interface wurde verbessert: encoding und XHTML sind nun Attribute des Publisher-Objektes.
  • asString() liefert nun immer einen Unicode-String. Ein Byte-String, der sich z.B. in eine Datei schreiben läßt sich nun mittels asBytes() erzeugen. Das Encoding kann dabei als Argument angegeben werden.
  • Es gibt eine zusätzliche Klasse FilePublisher mit der sich direkt auf eine Datei schreiben läßt. (Oder auf andere Objekte, die eine write-Methode besitzen und von codecs.lookup unterstützt werden).
  • Attribut- und Elementnamen werden nun nicht mehr automatisch in Kleinbuchstaben gewandelt. Im Falle eines Attributnamen, der mit einem Python-Schlüsselwort kollidiert (z.B. class), kann an den Namen ein _ angehängt werden, dieser wird von dem Zugriff auf das Attribut entfernt.
  • Elemente und Entities werden nun nicht mehr einzeln registriert, sondern werden zu einem Namespace-Objekt zusammengefasst. Mittels der Funktionen pushNamespace() und popNamespace() können diese Namespaces beim Parser registriert und deregistiert werden.
  • Bildgrößenberechnung ist nicht mehr länger Bestandteil der Elemente img und input, sondern wurde in neue Element specials.autoimg und specials.autoinput ausgelagert.
  • Den Array-Operatoren für Frag und Element können nun auch Arrays als Argument übergeben werden. Dies ist äquivalent zur rekursiven Anwendung der Operators auf die einzelnen Array-Einträge. (z.B. ist e[[0, 1, "foo", 2]] dasselbe wie e[0][1]["foo"][2].
  • Das Modul db exisitert nicht mehr. Nützliche Elemente und Funktionen wurden in die neuen Module form und sql ausgelagert.
  • Das Handling von mehrzeiligen XSC-Processsing-Instructions ist verbessert worden. Allerdings kann XIST nicht immer die richtige Einrückung erraten. Diesem Fall können Sie durch eine zusätzliche Kommentarzeile am Anfang abhelfen.
  • Die Make-Funktionalität wurde in ein neues Modul ausgelagert, was Probleme mit dem Reimport von Modulen in Processing Instructions beseitigt. Zu benutzende Module können auf der Befehlszeile angegeben werden:
    python make.py --import xist.html --import foo bar.xsc
  • Encoding- und XHTML-Parameter können auf der Befehlszeile angegeben werden.
  • Es gibt ein neues Modul cond, das Elemente für Bedingungen enthält (z.B. if).

Was ist XIST?

XIST ist ein XML-basierter in Python implementierter HTML-Generator. Die wichtigsten Features sind:

  • Läßt sich leicht um neue XML-Elemente erweitern,
  • Kann zur Online- und Offline-Seitenerzeugung benutzt werden,
  • Erlaubt das Einbetten von Python-Code in XML-Files,
  • Kann unter httpdapy, mod_python oder PyWX benutzt werden,
  • Vereinfacht das Handling von tief verschachtelten Verzeichnisstrukturen,
  • Berechnet Bildgrößen automatisch

XIST wurde als Ersatz für den HTML-Präprocessor HSC entwickelt und hat einige seiner Ideen und Features übernommen.

Wo gibt es XIST?

XIST können sie von folgender Adresse downloaden ftp://ftp.livinglogic.de/pub/livinglogic/xist/. Bei Fragen zu XIST wenden Sie sich an Walter Dörwald.