XML Copy Editor: Ein XML-Editor für den Alltag

image

Immer mehr digitale Daten sind nicht in proprietären binären Dateien, sondern im XML-Format gespeichert. Für den Datenaustausch und für die langfristige Archivierung hat dies enorme Vorteile. Dabei sind XML-Dateien nichts anderes als strukturierte Textdateien und können deshalb mit jedem beliebigen Text-Editor geöffnet werden. Wer regelmässig XML-Dateien bearbeiten muss, sollte sich allerdings den Komfort eines spezialisierten Editors gönnen.

Da ich kein Entwickler bin, sind meine Anforderungen an einen XML-Editor eher bescheiden. Trotzdem habe ich eine ganze Reihe von Open-Source-Produkten getestet, bis ich fündig wurde. Konkret gelten für mich folgende Minimalanforderungen:

  • Tags und Daten müssen visuell gut unterscheidbar sein (Syntax-Highlighting).
  • Die Hierarchie der Elemente muss über Einrückungen o.ä. erkennbar sein.
  • Elemente müssen auf- und zugeklappt werden können (Folding).
  • Dokumente müssen auf Wohlgeformtheit und Gültigkeit geprüft werden können.
  • Der Editor muss auch mit grossen Dateien umgehen können.
  • Der Editor muss performant sein (rasch geöffnet, flüssig auch im Umgang mit grossen Dateien).
  • UTF-8 muss unterstützt werden.
  • Suchen/Ersetzen-Funktionen im üblichen Umfang sind zwingend.

Um Sie nicht länger auf die Folter zu spannen: XML Copy Editor erfüllt alle diese Anforderungen und ist dabei sowohl für Windows als auch für Linux verfügbar. Er schaffte es insbesondere auch, eine 135 MByte grosse Datei mit über 2,3 Millionen Zeilen zu öffnen. Das dauert dann zwar einen Moment, weil das gesamte Dokument geparsed und formatiert werden muss, aber es funktioniert. Und wer es eilig hat, kann den speziellen Befehl “Öffne grosses Dokument…” benutzen, dann entfallen Syntax-Highlighting und Klappmechanismen, so dass das Dokument schneller zur Verfügung steht.

SVG-Vektorgrafiken erstellen mit GLIPS Graffiti Editor

image

SVG (Scalable Vector Graphics) ist ein faszinierendes Grafikformat: Da es auf XML basiert, kann es mit jedem Texteditor bearbeitet werden, und deshalb lässt sich eine SVG-Grafik auch sehr einfach mit einer Skriptsprache wie z.B. PHP manipulieren.

Der einfachste Weg, um eine SVG-Grafik zu erstellen oder zu betrachten führt aber über ein Grafikprogramm. Nebst dem Klassiker Inkscape kann man dafür beispielsweise auch den GLIPS Graffiti Editor nutzen, der sich auf die grundlegenden Funktionen beschränkt und deshalb sehr übersichtlich und leicht zu erlernen ist. Wie viele Java-Programme ist GLIPS ein kleines bisschen träge, dafür läuft es auf allen Betriebssystemen, die Java unterstützen. Als Lizenz kommt die Lesser General Public License (LGPL) zum Einsatz.

Ist Microsofts OXML ein offenes Dateiformat?

Können digitale Daten von heute in zehn, zwanzig oder hundert Jahren noch gelesen und weiterverarbeitet werden? Diese Frage ist zentral für eine Informationsgesellschaft, die gigantische Datenmengen produziert und diese auch archivieren möchte. Aber ob man diese Frage mit “Ja” beantworten kann, ist keineswegs sicher: Durch die rasante Weiterentwicklung von Hardware und Software können schon nach kurzer Zeit bestimmte Datenträger nicht mehr gelesen oder bestimmte Dateiformate nicht mehr geöffnet werden. Datenträger kann man zur Not auf neuere Medien umkopieren, aber Daten laufend in neue Formate zu konvertieren ist schlicht nicht praktikabel. Abhilfe schaffen einzig offene Standards.

Im Bereich der Office-Dokumente gibt es mit ODF seit kurzem einen solchen offenen Standard (vgl. OpenDocument-Format ist ISO-Standard). Aber auch Microsoft hat im Zuge seiner neusten Office-Generation ein Format geschaffen, das dem Namen nach offen ist: Open XML (OXML) bzw. Office Open XML (OOXML). Wie die neue Neue Zürcher Zeitung vom 20. Juni 2007 auf Seite B1 schreibt, ist dies allerdings ein Etikettenschwindel:

“Als offen gilt ein Standard, der in einem ‘offenen’ und allen interessierten Parteien zugänglichen Entscheidungsprozess erarbeitet wurde und bei dem das geistige Eigentum, das er enthält, unentgeltlich von allen Interessierten genutzt werden kann. Gemessen an dieser Definition schmückt sich OXML zu Unrecht mit dem Adjektiv ‘open’. Denn wer diesen Standard vollumfänglich implementieren will, muss Funktionen von immaterialgüterrechtlich geschützten Microsoft-Produkten oder -Techniken, die in der OXML-Spezifikation vorausgesetzt, aber nicht beschrieben werden, nachbilden.”

Dass Microsoft OXML ebenfalls zum ISO-Standard erheben lassen will, ruft deshalb Kritik hervor. Mit der Kampagne OOXML – Say NO to Microsoft Office broken standard versucht die Foundation for a Free Information Infrastructure FFII, diese Kritik in Form einer Petition zu kanalisieren. Die Argumente der FFII sind fundiert, und insbesondere Argument Nr. 1 überzeugt auch ohne vertiefte IT-Kenntnisse:

“There is already a standard ISO26300 named Open Document Format (ODF): a dual standard adds costs, uncertainty and confusion to industry, government and citizens.”

Selbst wenn dieser Protest Erfolg haben sollte muss man sich allerdings im Klaren sein, dass OXML trotzdem ein Standard werden wird – kein ISO-Standard zwar, aber ein proprietärer De-facto-Standard, wie Microsoft in seiner Firmengeschichte schon diverse geprägt hat. Immerhin muss man Microsoft aber zu gute halten, dass man sich mit den OpenXML/ODF Translator Add-ins for Office auch bemüht, den ISO-Standard zu unterstützen.

TYPO3 Tuning: Extensions für Google Sitemaps

Damit die eigene Website möglichst aktuell und vollständig bei Google vorliegt, erstellt man mit Vorteil eine Google Sitemap. Eine solche Sitemap ist eine XML-Datei in einem standardisierten Format, die es den Spidern der grossen Suchmaschinen einfacher macht, eine Website zu indizieren. Nebst Google unterstützen auch Yahoo und Microsoft dieses Prinzip.

Um für eine TYPO3-basierte Website automatisch eine jederzeit aktuelle Google Sitemap bereitzustellen, empfiehlt sich die Extension mc_googlesitemap von Maximo Cuadros. Einmal installiert, braucht man nur noch den Startingpoint des Seitenbaums zu definieren, für den eine Google Sitemap generiert werden soll. Eine sehr gute Anleitung dazu findet man auf der YAML-Website. Tim Lochmüller bietet eine erweiterte Version an, die auch Seiten in die Google Sitemap aufnimmt, die nicht im Seitenbaum enthalten sind.

Im TYPO3 Extension Repository finden sich noch zwei weitere Extensions, die ebenfalls Google Sitemaps erzeugen: google_sitemap von Peter Russ und weeaar_googlesitemap von Marcel Alburg. Diese sind allerdings noch im Beta-Stadium, teilweise älter und nicht sehr gut dokumentiert.