Auf Telepolis eine kleine Geschichte deutscher Gegenwart, die kafkaeske Züge annimmt: Du bis schuldig aber wir sagen dir nicht warum!
Ich habe mit den speexx-utils 2.1 begonnen. Als erstes habe ich eine Konfigurationsklasse für die Features von XML Parsers hinzu gefügt. Hintergund ist die Tatsache, dass ich oft XML Software entwickelt habe, bei welcher der Parser konfigureiert werden musste. Und sei es nur, dass das auflösen der URL eines System Identifiers in der SAX Methode EnitityResolver.resolveEntity unterdrückt werden musste. Dies ist eine durchaus gängige Anforderung, wenn es einem Serversystem nicht erlaubt ist über HTTP nach draussen zu quatschen.
Grösstes Problem bei der Entwicklung des Konfigurators war die DOM Unterstützung, da die Utilities weiterhin Java 1.3 kompatibel bleiben sollen. Allerdings hat sich die API der Klasse DocumentBuilderFactory zwischen JAXP 1.1 und JAXP 1.3 geändert. In JAXP 1.3, welches Teil von Java 5 ist, ist die Featureunterstützung in der Klasse hinzu gekommen. Um abwärtskompatibel zu sein, wirft die entsprechende Konfigurationsmethode eine UnsupportedMethodException, wenn sie mit einer Implementierung der JAXP 1.1-Schnittstelle aufgerufen wird. Damit auch Tests unter Java 1.4, welches JAXP 1.1 unterstützt, erfolgreich sind, werden die Methodenaufrufe über die Invoker-API ausgelöst. Auf einen Abhängigkeitentest gegenüber Java 1.3 wird zur Zeit verzichtet.
Mehr über Features für den Xerces-J 2.x Parser.
