DTD
Die erste Einsendeaufgabe zu XML gibt eine XML-Datei vor, zu der man eine DTD erstellen soll, damit man damit auf Gültigkeit prüfen kann. Eclipse hat zwar XML- und DTD-Editoren, ist beim Validieren aber nicht besonders hilfreich. Und der Validator des Aptana-Plugins kommt mit lokalen DTD-Dateien nicht zurecht. Das sucht die immer im Home-Verzeichnis des Users. Im Kurs wird XMLSpy empfohlen, weil es wohl früher eine frei benutzbare Version davon gab. Jetzt gibt es allerdings nur noch eine 30-Tage-Testversion und unter Linux läuft es nur unter Wine. Deshalb wollte ich das erstmal nicht installieren.
Exchanger XML Lite scheint (zumindest vom Handbuch her) eine gute Alternative zu sein. Für nicht-kommerzielle Zwecke kann man das Programm kostenlos benutzen und die Einschränkungen gegenüber der Vollversion sind gering. Leider hab ich es unter Linux nicht zum Laufen bekommen, obwohl es in Java entwickelt wurde. Das speziele Linux-Setup schlägt wegen nicht vorhandener Abhängigkeiten fehl. Und die reine Java-Installation, die man als JAR-Datei startet, meldet Fehler und verweist für die Details auf die Log-Datei, die allerdings nirgends zu finden ist. Naja, sowas liebe ich …
Daher hab ich zum Testen erstmal xmllint und xmlstarlet verwendet. Diese Kommandozeilentools reichen völlig aus, um eine einfache Validierung vorzunehmen. xmllint kann man sogar in einem Shellmodus starten und sich dann wie in einem Dateisystem mit cd, ls und cat bewegen oder XPath-Aausdrücke auswerten. Die einfachsten Dinge sind doch manchmal die besten.