Hallo, Thomas,
nur ein paar kleine unwichtige Anmerkungen... *smirk*
Du mischst hier HTML mit XML. Für HTML mag es stimmen, dass die Browser im Vornhinein wissen müssen, wie sie die Elemente darstellen sollen
Jein, sie haben ein Stylesheet dafür, das stimmt. Wie Browser HTML anzeigen, ist jedoch nirgendwo festgelegt, denn HTML ist ursprünglich eine anzeigeunabhängige Sprache. Mit dem CSS-Beispielstylesheet wurde ein informeller Konsens dokumentiert und die grafische Anzeige über das Boxmodell normiert - innerhalb dieser Regeln des Boxmodells ist es aber alleinig die Angelegenheit des Browsers, wie das Markup umgesetzt wird.
aber bei XML stimmt das nicht mehr, da XML im gegensatz zu HTML keine Layoutformatierung mit sich bringt.
Nein, (X)HTML bringt auch keine Layoutformatierungen »mit sich«, der Browser hat wie gesagt nur ein Stylesheet dafür. Erst durch das browserinterne Anwenden von Styles wird eine grafische Widergabe ermöglicht, ansonsten ist XHTML (Strict, ohne Präsentationselemente) universell und ein wahres Kind von XML, worin dessen Stärke liegt.
Was ja logisch ist, denn in XML kann ja jeder seinen eigenen Elementenvorrat erschaffen.
Ja, das ist aber kein Grund dafür, dass die Browser ein HTML-Dokument meist sehr ähnlich visualisieren. Noch heute gibt es in den Details Unterschiede, sodass dasselbe Dokument auch ohne zusätzliche Autorenstyles von verschiedenen Browsern verschieden gerendert wird.
Dass ein grafischer Browser ein h1-Element größer darstellen wird und ein table-Element samt Kindelementen als Tabelle, ist natürlich selbstverständlich, aber dies ist nur eine spezielle Art der Interpretation des Codes. Ein Textbrowser beziehungsweise ein anderes Medium wird dies komplett anders handhaben. Zu behaupten, ein HTML-Dokument enthalte in der Regel implizit keine Informationen über die Art der Visualisierung, wäre nicht ganz richtig, denn p für paragraph determiniert mehr oder weniger die Anzeige, aber eben nur implizit, im Markup selbst steht nirgendwo, wie das Dokument visuell wiedergegeben wird. Sollte es zumindest nicht, wenn es sich *Hyper*text oder XML-Dokument nennen will.
Natürlich lässt sich nicht alles mit Styles beschreiben, dennoch steht in keinem Standard und schon gar nicht im Markup, wie Browser Hyperlinks kennzeichnen müssen. Kein XML-Markup definiert die Formatierung, es sei denn, man schreibt eine Seitenbeschreibungssprache in XML und mixt Datenorganisation und Datenanzeige... Die Transitional-Varianten von (X)HTML sind solche Sprachen, XML und damit XHTML ist aber nicht dafür gemacht HTML *ursprünglich* auch nicht.
es gibt schon eine Sprache für Bildschirmdarstellung von Internetseiten: HTML.
Die einzige existente Sprache, welche tatsächlich für die Bildschirmdarstellung von Webseiten entwickelt wurde, ist CSS.
langsam ein wenig XML, soweit ich weiß ist XML beim (IE < 6 && IE >= 5) zwar möglich, aber nur sehr chlecht, (IE >=6 && Mozilla 1.1) sind da schon besser und können durchaus XML mit XSL darstellen.
Das sind wiederum zwei Paar Schuhe, es ist was anderes ein XML-Datei zu parsen und es ist wiederum was anderes dann auch noch eine XSL-Transformation auszuführen.
Steht zwar nicht im direkten Bezug zu deiner Aussage, aber weil Andreas meinte, Browser stellen XML-Dokumente »mit« XSLT dar:
Im Endeffekt wenden Browser nach der Transformation auch wieder interne Styles an - nur halt auf das Produkt der Transformation, weil sie für HTML ein Standardstylesheet haben, was sie für eine beliebige andere XML-Sprache nicht haben (ich weiß auch nicht, ob bspw. Ruby oder MathML über das CSS-Boxmodell komplett interpretierbar ist, ich denke einmal nicht). Hinzu kommen die dem Browser geläufigen »Regeln« zur Kennzeichnung von Hyperlinks u.ä.
Ansonsten natürlich ACK. Wir meinen auch eigentlich das Gleiche, scheint mir. *fg*
Grüße,
Mathias
Mein Leben, ein Leben ist es kaum, / Ich gehe dahin als wie im Traum.
Wie Schatten huschen die Mensch hin, / Ein Schatten dazwischen ich selber bin.
Und im Herzen tiefe Müdigkeit - / Alles sagt mir: Es ist Zeit ...
(Theodor Fontane, Mein Leben)