Eine Schande, dass Leute in ihrem Word & Co. immer noch denken, dass
z.B. „Rote Fette Schrift in 24pt“ eine Überschrift sei. Erst durch
Auszeichnung als Überschrift wird es zur Überschrift.
Der Vorteil liegt auf der Hand: Dokumentennavigation, Automatisches
Anlegen eines Inhaltsverzeichnis, bei OpenOffice.org z.B. den Export
der Struktur ins geschriebene PDF, anlegen von
Stichwortverzeichnisse, Konvertierung des Textes in ein anderes
Programm oder Format (z.B. HTML oder Indesign)
Somit verhält es sich auch mit HTML (Gefrickel!) und XHTML
(wunderbar!).
Damals zu Beginn des Web hatte man wohl nicht viel Ressourcen, und
wollte wohl nicht unbedingt RTF als Format in Gopher oder dem frühen
WWW nutzen. Sozusagen hat man sich dafür bei dem in der
Publishing-Industrie erfolgreiche Format SGML abgeschaut und mal eben
ein primitives HTML gebastelt, was noch nicht viel konnte. Zu dem
Zeitpunkt war wohl an etwas wie Semantisches Web oder RSS noch gar
nicht zu denken. Aber es genügte: Die Schrift war 24pt groß, fett und
rot. Mehr brauchte man damals ja auch nicht…
Heute hat man dazugelernt, denn die Seiten sind gewachsen…
Valides SGML- und XML-Dokument (verwendete Sprache HTML):
--------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>bla</title>
</head>
<body>
<h1>headline</h1>
<p>foo</p>
</body>
</html>
Das gleiche nochmal nicht XML-, aber SGML- bzw. HTML-konform:
--------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>bla</>
headline/h1>
<p/foo/
--ENDE DES DOKUMENTS--
FAZIT: Na, ist doch toll! Da kennt sich doch jeder aus! Eigentlich
sollte das jeder Browser, der HTML unterstützt richtig darstellen
können.
* Durch das Öffnen des title-Elements wird das html- sowie
head-Element geöffnet.
* Das title Element wird durch die Zeichenkette </ wieder beendet.
* Durch das Öffnen eines Elements des Textkörpers (body), wird
dieser geöffnet und zuvor der Kopf (head) geschlossen.
* Das p-Tag wird durch den Schrägstrich (/) beendet.
* Der nächste Schrägstrich schließt das p-Element.
* Das Ende des Dokuments beendet den Textkörper sowie das
html-Dokument.
(ok, teils von Wiki für die Schnelle geklaut)
Um diese Probleme zu umgehen, wurde eine Teilmenge von SGML
definiert, nämlich XML, die einfach weiterzuverarbeiten ist. HTML
wurde dann als XML-konforme Anwendung XHTML neu definiert.
Also kurz zusammengefasst...
* SGML ist leider schwer maschinell lesbar
* SGML ist tolerant gegenüber Auszeichnungsfehler und somit falschem
Code (viel Spaß wenn die Dokumente größer werden!)
* Dokumente in SGML sind nur über eine DTD lesbar, XML immer !
* Fehlertoleranz bei SGML ziemlich hoch ("erzieht zur
Schlampigkeit!")
Oder habt ihr etwa Erfolg mit meinem konformen HTML-Dokument gehabt?!
So und nun für alle Besserwisser:
----.----------------------------
XML ist praktisch in den Spezifikation zu SGML enthalten.. XHTML ist
die Bereinigung von HTML-Gefrickel hin zum guten (oh heiliger Gral!)
XML-Standard.
Somit lernen (VOR ALLEM TROLLE UND WEB-"geht doch auch
einfacher"-NOOBS):
---------------------------------------------------------------------
---
* XML ist eine Teildefinition von SGML
* HTML ist eine Anwendung von SGML
* XHTML ist eine Andwendung von SGML (auf HTML basierend)
* HTML und XML sind keine Varianten oder Dialekte von SGML!
ALSO: Vielfacher Grund für den Einsatz von XML ist die Einfach
Verwendung von APIs (Parsern) und die einfache Syntax: die Definition
von SGML umfasst 500 Seiten, jene von XML nur 26.
XML ist toll und vielseitig einsetzbar und erweiterbar (nicht mit
„Erweiterte Markup Sprache“ übersetzen!!!)
Um allerdings den Umstieg von HTML zu XHTML zu schaffen oder zu
erleichtern, hat man auch noch andere DocTypes zu XHTML/Strict
eingeführt, nämlich XHTML/Transitional. Dieses akzeptiert z.B. auch
„&“ im Fließtext, was nach XML korrekterweise als „&“
ausgezeichnet werden müsste. Zudem ist XHTML/Transitional tolerant,
wenn man mal einen Tag nicht schließt, und viele Elemente (oder Tags)
haben noch ihre Bedeutung aus HTML. In einem Screenreader wird z.b.
Text in <strong> bedtont vorgelesen. Zudem gibt es aber sogar in
XHTML1.1/Strict immer noch das <b> und <i> Tag, was für die
„schnelle“ visuelle Auszeichnung als fett oder kursiv dient,
allerdigns keinerlei semantische Bedeutung besitzt. In XHTML2.0 glaub
ich gibt es sie mittlerweile nicht mehr.
Für kommerziell erfolgreiche Seiten empfehle ich übrigens derzeit
noch Transitional zu verwenden, da hier einfach eine
Abwärtskompatibilität zu MacOS9 und z.B. Internet Explorer (auf
MACOS9!) gegeben ist. Leider nicht ohne die typischen CSS Bugs, aber
über CSS unterhalten wir uns hier nur am Rande!
Wer was lernen will, nimmt natürlich Strict ;)
--
UND JETZT DAS ABER
Trotzdem versuchte auch schon SGML wie XML bzw. XHTML Inhalt und
Layout voneinander zu trennen. Wie allerdings das Layout dargestellt
wird, bestimmt die Struktursprache DSSSL (Document Style Semantics
and Specification Language):
z.B. <h1> ist eine Überschrift, die erst über DSSSL als Überschrift
dargestellt wird. Sonst würde <h1> für SGML nur ein Tag (in XML
sprechen wir von Elementen) mit dem Namen „h1“ darstellen – und
jegliche logische und somit auch visuelle Bedeutung.
HTML sehe ich deswegen als gescheiterten Versuch. Gerne können
Privatanwender, eine Seite in HTML4.01 oder mit mehr Gimmnicks auch
in HTML5 basteln. Tut mir es aber bitte nicht an da das Layout zu
ändern oder RSS-Feeds dazuzubasteln, oder irgendeinen Parser der aus
HTML-Gewurstle eine Dokumentation erstellt.
XHTML schafft diese Trennung zwar noch nicht ganz, dafür ist es aber
noch einfach zu handeln, ohne dass man alles in eine XML-File packt
und mit XSL transformiert. Deswegen hat sich letztgenannteres wohl im
Web auch noch nciht durchsetzt (wohl aber in anderen
Industriezweigen!)
--
Und nun sind wir auf die Vorteile von XML ja noch überhaupt nicht
eingegangen. Kurzum ist es toll innerhalb XML Namespaces vergeben zu
können und MathML, SVG, XForms XHTML wild durcheinander-gemischt
verwenden zu können usw.
Leider ist da aber noch vieles Beta in dem Gebiet. So... und mehr
spare ich mir für den Moment…
Und dann haben wir ja noch Technolgien oder Sprachen oder Protokolle
wie SOAP, XUL, XBF, SMIL, DocBook, RDF, MPEG-7, WSDL, X3D, XMPP… die
alle auf XML basieren, und euch wohl nicht viel sagen.
(Und ehrlich gesagt, verstehe ich nicht warum man Raketen baut und
ins Weltall schießt; schließlich komme ich ja mit meinem Audi auch
super klar, und überall hin. Und der ist viel einfacher zu bedienen
als eine Rakete! -- ALSO LASST IHR TROLLE MICH MIT DER ART VON
ARGUMENTATION IN ZUKUNFT BITTE IN RUHE UND HALTET EUER MAUL BEVOR IHR
MIT FALSCHEN AUSSAGEN ODER DUMMEN PAUSCHALISIERUNGEN ANDERE MIT EUREM
BLÖDSINN INFIZIERT)
Zu mindestens ich möchte ein semantisches Web. Ihr könnt ja derweil
immer noch auf euren Porno- oder Fun-Sites surfen und euch wie
Neanderthaler verhalten…
z.B. „Rote Fette Schrift in 24pt“ eine Überschrift sei. Erst durch
Auszeichnung als Überschrift wird es zur Überschrift.
Der Vorteil liegt auf der Hand: Dokumentennavigation, Automatisches
Anlegen eines Inhaltsverzeichnis, bei OpenOffice.org z.B. den Export
der Struktur ins geschriebene PDF, anlegen von
Stichwortverzeichnisse, Konvertierung des Textes in ein anderes
Programm oder Format (z.B. HTML oder Indesign)
Somit verhält es sich auch mit HTML (Gefrickel!) und XHTML
(wunderbar!).
Damals zu Beginn des Web hatte man wohl nicht viel Ressourcen, und
wollte wohl nicht unbedingt RTF als Format in Gopher oder dem frühen
WWW nutzen. Sozusagen hat man sich dafür bei dem in der
Publishing-Industrie erfolgreiche Format SGML abgeschaut und mal eben
ein primitives HTML gebastelt, was noch nicht viel konnte. Zu dem
Zeitpunkt war wohl an etwas wie Semantisches Web oder RSS noch gar
nicht zu denken. Aber es genügte: Die Schrift war 24pt groß, fett und
rot. Mehr brauchte man damals ja auch nicht…
Heute hat man dazugelernt, denn die Seiten sind gewachsen…
Valides SGML- und XML-Dokument (verwendete Sprache HTML):
--------------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>bla</title>
</head>
<body>
<h1>headline</h1>
<p>foo</p>
</body>
</html>
Das gleiche nochmal nicht XML-, aber SGML- bzw. HTML-konform:
--------------------------------------------------
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<title>bla</>
headline/h1>
<p/foo/
--ENDE DES DOKUMENTS--
FAZIT: Na, ist doch toll! Da kennt sich doch jeder aus! Eigentlich
sollte das jeder Browser, der HTML unterstützt richtig darstellen
können.
* Durch das Öffnen des title-Elements wird das html- sowie
head-Element geöffnet.
* Das title Element wird durch die Zeichenkette </ wieder beendet.
* Durch das Öffnen eines Elements des Textkörpers (body), wird
dieser geöffnet und zuvor der Kopf (head) geschlossen.
* Das p-Tag wird durch den Schrägstrich (/) beendet.
* Der nächste Schrägstrich schließt das p-Element.
* Das Ende des Dokuments beendet den Textkörper sowie das
html-Dokument.
(ok, teils von Wiki für die Schnelle geklaut)
Um diese Probleme zu umgehen, wurde eine Teilmenge von SGML
definiert, nämlich XML, die einfach weiterzuverarbeiten ist. HTML
wurde dann als XML-konforme Anwendung XHTML neu definiert.
Also kurz zusammengefasst...
* SGML ist leider schwer maschinell lesbar
* SGML ist tolerant gegenüber Auszeichnungsfehler und somit falschem
Code (viel Spaß wenn die Dokumente größer werden!)
* Dokumente in SGML sind nur über eine DTD lesbar, XML immer !
* Fehlertoleranz bei SGML ziemlich hoch ("erzieht zur
Schlampigkeit!")
Oder habt ihr etwa Erfolg mit meinem konformen HTML-Dokument gehabt?!
So und nun für alle Besserwisser:
----.----------------------------
XML ist praktisch in den Spezifikation zu SGML enthalten.. XHTML ist
die Bereinigung von HTML-Gefrickel hin zum guten (oh heiliger Gral!)
XML-Standard.
Somit lernen (VOR ALLEM TROLLE UND WEB-"geht doch auch
einfacher"-NOOBS):
---------------------------------------------------------------------
---
* XML ist eine Teildefinition von SGML
* HTML ist eine Anwendung von SGML
* XHTML ist eine Andwendung von SGML (auf HTML basierend)
* HTML und XML sind keine Varianten oder Dialekte von SGML!
ALSO: Vielfacher Grund für den Einsatz von XML ist die Einfach
Verwendung von APIs (Parsern) und die einfache Syntax: die Definition
von SGML umfasst 500 Seiten, jene von XML nur 26.
XML ist toll und vielseitig einsetzbar und erweiterbar (nicht mit
„Erweiterte Markup Sprache“ übersetzen!!!)
Um allerdings den Umstieg von HTML zu XHTML zu schaffen oder zu
erleichtern, hat man auch noch andere DocTypes zu XHTML/Strict
eingeführt, nämlich XHTML/Transitional. Dieses akzeptiert z.B. auch
„&“ im Fließtext, was nach XML korrekterweise als „&“
ausgezeichnet werden müsste. Zudem ist XHTML/Transitional tolerant,
wenn man mal einen Tag nicht schließt, und viele Elemente (oder Tags)
haben noch ihre Bedeutung aus HTML. In einem Screenreader wird z.b.
Text in <strong> bedtont vorgelesen. Zudem gibt es aber sogar in
XHTML1.1/Strict immer noch das <b> und <i> Tag, was für die
„schnelle“ visuelle Auszeichnung als fett oder kursiv dient,
allerdigns keinerlei semantische Bedeutung besitzt. In XHTML2.0 glaub
ich gibt es sie mittlerweile nicht mehr.
Für kommerziell erfolgreiche Seiten empfehle ich übrigens derzeit
noch Transitional zu verwenden, da hier einfach eine
Abwärtskompatibilität zu MacOS9 und z.B. Internet Explorer (auf
MACOS9!) gegeben ist. Leider nicht ohne die typischen CSS Bugs, aber
über CSS unterhalten wir uns hier nur am Rande!
Wer was lernen will, nimmt natürlich Strict ;)
--
UND JETZT DAS ABER
Trotzdem versuchte auch schon SGML wie XML bzw. XHTML Inhalt und
Layout voneinander zu trennen. Wie allerdings das Layout dargestellt
wird, bestimmt die Struktursprache DSSSL (Document Style Semantics
and Specification Language):
z.B. <h1> ist eine Überschrift, die erst über DSSSL als Überschrift
dargestellt wird. Sonst würde <h1> für SGML nur ein Tag (in XML
sprechen wir von Elementen) mit dem Namen „h1“ darstellen – und
jegliche logische und somit auch visuelle Bedeutung.
HTML sehe ich deswegen als gescheiterten Versuch. Gerne können
Privatanwender, eine Seite in HTML4.01 oder mit mehr Gimmnicks auch
in HTML5 basteln. Tut mir es aber bitte nicht an da das Layout zu
ändern oder RSS-Feeds dazuzubasteln, oder irgendeinen Parser der aus
HTML-Gewurstle eine Dokumentation erstellt.
XHTML schafft diese Trennung zwar noch nicht ganz, dafür ist es aber
noch einfach zu handeln, ohne dass man alles in eine XML-File packt
und mit XSL transformiert. Deswegen hat sich letztgenannteres wohl im
Web auch noch nciht durchsetzt (wohl aber in anderen
Industriezweigen!)
--
Und nun sind wir auf die Vorteile von XML ja noch überhaupt nicht
eingegangen. Kurzum ist es toll innerhalb XML Namespaces vergeben zu
können und MathML, SVG, XForms XHTML wild durcheinander-gemischt
verwenden zu können usw.
Leider ist da aber noch vieles Beta in dem Gebiet. So... und mehr
spare ich mir für den Moment…
Und dann haben wir ja noch Technolgien oder Sprachen oder Protokolle
wie SOAP, XUL, XBF, SMIL, DocBook, RDF, MPEG-7, WSDL, X3D, XMPP… die
alle auf XML basieren, und euch wohl nicht viel sagen.
(Und ehrlich gesagt, verstehe ich nicht warum man Raketen baut und
ins Weltall schießt; schließlich komme ich ja mit meinem Audi auch
super klar, und überall hin. Und der ist viel einfacher zu bedienen
als eine Rakete! -- ALSO LASST IHR TROLLE MICH MIT DER ART VON
ARGUMENTATION IN ZUKUNFT BITTE IN RUHE UND HALTET EUER MAUL BEVOR IHR
MIT FALSCHEN AUSSAGEN ODER DUMMEN PAUSCHALISIERUNGEN ANDERE MIT EUREM
BLÖDSINN INFIZIERT)
Zu mindestens ich möchte ein semantisches Web. Ihr könnt ja derweil
immer noch auf euren Porno- oder Fun-Sites surfen und euch wie
Neanderthaler verhalten…