XML Tools Plugin für Notepad++

In einer Vorlesung zum Thema XML habe ich nach einem freien Texteditor gesucht, der Text-Hervorhebungen für XML besitzt, eine Prüfung auf Wohlgeformtheit durchführen kann und auch eine Validierung (z.B. mit einer DTD) durchzuführen vermag. Nach kurzer Recherche bin ich auf ein Plugin für den Notepad++ gestoßen, den ich seit Jahren gern verwende.
Das Plugin ließ sich problemlos installieren und brachte tatsächlich die Funktionen mit sich, die ich haben wollte.
In den ersten Vorlesungsstunden funktionierte alles wunderbar. Die Wohlgeformtheit von XML-Dokumenten konnte überprüft werden, wir entwickelten eine CSS-Datei zum Anzeigen im Browser und machten uns schließlich an das Schreiben einer DTD für die XML-Datei.
Plötzlich hatten die Studenten teilweise Dateien, die von Notepad++ bzw. vom Plugin nicht gefunden werden konnten, wenn man eine Validierung durchführen wollte. Es erschien immer ein Popup mit der Meldung „Unable to load the DTD xyz.dtd“. Beim Durchsehen der Dateien fiel mir nichts besonderes auf. Auch im Netz wurde ich nicht fündig, es gibt zwar ein paar (schon ältere) Fragen bezüglich dieses Fehlers, aber ich fand keine Antwort.
Also blieb mir nichts anderes übrig als zu Hause ein Weilchen herumzuprobieren. Zuerst dachte ich, es liegt vielleicht an der Kodierung der Zeichen in der Datei. Das half aber auch nichts.
Die Lösung war schließlich, dass es mehr als eine Fehlerquelle gab. Dies zeigt wieder einmal, dass Fehlertexte den Fehler doch besser beschreiben sollten (und vor allem verschiedene Fehler unterscheiden sollten).

  1. Das Plugin reagiert in der DTD auf jeden Fehler, d.h. sobald eine Klammer fehlt, ein falsches Zeichen enthalten ist oder ähnliche kleine Fehler enthalten sind, wird der oben genannte Fehler ausgegeben. Sind alle Fehler behoben, geht es wieder.
  2. Die zweite Fehlerquelle ist tatsächlich die Kodierung: Mit UTF-8 kodierte dtd-Dateien wollte das Tool nicht lesen, nur mit ANSI kodierte dtds (die keine Fehler enthalten), konnten für die Validierung einer XML-Datei verwendet werden.