XML :: Links
Übersicht
- Extensible Markup Language (XML) - W3C Recommendation :: der aktuelle Stand
- XML in 10 points ist ein kurzer, gut gestalteter Text vom W3C.
XSL // XSL-T // XSL-FO
Strikte Fehlerbehandlung in XML
Dabei geht es um die Frage, ob ein XML-Parser die Bearbeitung des Dokuments abbrechen sollte, falls er auf einen Fehler (Wohlgeformtheit oder Validität) trifft. Oder, ob er einfach weiter machen soll (wie das z.B. HTML-Parser tun). Und welche Alternativen bestehen...
Postel's LawBe conservative in what you transmit and liberal in what you accept.
- On Postel, Again auf
ongoing
, dem Blob von Tim Bray, der maßgeblich für die derzeitige strikte Fehlerbehandlung (Abbruch des Parsens) von XML-Dokumenten verantwortlich ist. Im Eintrag Dracon and Postel führt Bray weitere Argumente für eine einigermaßen strikte Fehlerbehandlung an. Fehler sollten in zwei Klassen eingeteilt werden: fatal und nicht fatal. Bei fatalen Fehlern muss die Software aufhören, das Dokument zu bearbeiten. - Postel's Law has two parts kommt zu dem
Schluß, dass wenn jeder valides XML erzeugen würde, es dieses Problem überhaupt nicht gäbe.
Irgendwie hat er damit recht.
Außerdem führt eine Fehlertoleranz zu Produkten, die Eigenheiten in der Fehlerbehandlung aufweisen. Marktführer würden hier Standards setzen (so, wie das Microsoft mit dem InternetExplorer für HTML leider gemacht hat). D.h. Marktneueinsteiger müssten diese Eigenheiten nachbilden, um beim Kunden akzeptiert zu werden. Ein kaum wünschenswerter Zustand. Sowohl für den Entwickler neuer Produkte, als auch für den Kunden, dem dann wohl weniger Produkte zur Auswahl stehen. - Auf Postel’s Law Has No Exceptions nennt
Aaron Swartz kurz und übersichtlich drei Punkte, weshalb der Titel des Beitrags zutrifft (
;-) ).
MMn der wichtigste Punkt ist, dass der Anwender an die Daten kommen will, die im XML gespeichert sind. Egal, ob es jetzt wohlgeformt ist, oder nicht. Schließlich ist XML ein Textformat und wurde u.a. aus dem Grund der Lesbarkeit durch den Menschen in dieses Format gebracht. Und man kann eine Nachricht lesen, auch wenn sie nicht vollständig ist. - There are no exceptions to Postel’s
Law ist der Beitrag des (u.a.) RSS feed parser-Entwicklers
Mark Pilgrim. Er vertritt die Meinung, dass großzügig mit fehlerhaftem Code umgegangen
werden muss. Obwohl er sich deswegen schon Nächte um die Ohren schlagen musste.
Das Thought experiment vom selben Autor ist sehr interessant: Was wäre, wenn tatsächlich alle Parser bei Fehlern in XML-Dokumenten die Verarbeitung abbrächen. Was wäre, wenn fremdes Markup in valides Markup einfließt. Was wäre, ...
In einem weiteren Beitrag (The history of draconian error handling in XML) geht Pilgrim auf den Prozess in der xml working group ein, der zum Entschluss führte, die Fehlerbehandlung so zu machen, wie sie jetzt praktiziert(?) wird.
Dave HyattThe browser has to make a face and refuse to eat the swill that is being force-fed to it, or the average designer is simply going to shrug and say, "Well, close enough."