mermshaus
Senior HTML'ler
struppi schrieb:Der Vorteil den man sich von XHTML versprach liegt halt darin, dass eine Auszeichnungssprache die 100% gültig ist, weniger Probleme beim automatisieren verursacht.
Habe ich sicher schon x-mal verlinkt, aber es gibt da diese Anekdote, die das Problem recht genau auf den Punkt bringt:
Mark Pilgrim schrieb:It’s a funny story, actually, because it happened to Nick Bradbury, on the very page where he was explaining why it was so important for clients to reject non-wellformed XML. His original post was valid XHTML, and his surrounding page was valid XHTML, but a trackback came in with a character that wasn’t in his character set, and Typepad didn’t catch it, and suddenly his page became non-wellformed XML.
Das zeigt finde ich schön, was alles zu bedenken wäre, um zu verhindern, dass sich irgendwo ein falsches Byte einschleicht und die Darstellung der gesamten Seite killt. Wahrscheinlich Mittwoch morgens um halb 10, wenn der Webmaster gerade Urlaub hat.
Es ist natürlich ein Henne/Ei-Problem. Wenn Notwendigkeit bestünde, würden die Leute mehr Zeit und Geld darauf verwenden, 100 % exakte Daten zu generieren, und solche Probleme würden mehr und mehr verschwinden.
Für Profis ist sowas sicher zumutbar (die sollten eh nichts unvalidiert durchlassen), aber bei denen ist's dann wohl doppelt ärgerlich, wenn's doch mal knallt. XML-Injection sozusagen. Szenario: Kunde trägt im Backend in irgendein Feld fehlerhaften HTML-Code ein – Seite pfutsch. Jeder kleine Fitzel müsste mühsam validiert werden.
Und wofür das Ganze? Damit das halbe Dutzend existierender HTML-Parser durch XML-Parser ersetzt werden kann? – Na ja. Ich persönlich hätte nichts dagegen, aber es ist schon arg unrealistisch, dass alle Leute plötzlich zu Experten in Sachen Zeichensätze und XML-Verarbeitung werden.
Überhaupt ist HTML tendentiell eher ein Ausgabeformat als ein intermediäres Datenaustauschformat. Zumal die fehlertoleranten HTML-Parser ja existieren.
Das ist für so Geschichten relevant wie XSLT. Aber das sind Techniken, die vermutlich nur in wirklich grossen Projekten eine Rolle spielen. Ich bin mit sowas noch nicht in Berührung gekommen.
Das ist prinzipiell durchaus eine schöne – wenn auch rechenintensive – Sache für View-Scripts. Ich schreibe auf meiner Seite etwa die Einträge in einem eigenen XML-Dialekt, der HTML erweitert.
Code:
<p>Hier ein Codebeispiel:</p>
<x:code lang="php"><![CDATA[
function f() { echo 'Hello world!'; }
]]></x:code>
An das x:code-Element stöpsel ich dann GeSHi oder so, um Syntax-Highlighting zu bekommen. Das wäre prinzipiell per XSL machbar (erlaubt Callbacks zu PHP-Funktionen), aber wenn die eigentliche Arbeit ohnehin von PHP erledigt werden muss, kann ich auch gleich rein über DOMDocument gehen.
- PHP: Using XML as a "lightweight" markup language