adil: html - xhtml - xml

Hallo SELFHTMLer,

hab da mal eine wohl doofe Frage, aber mir ist die Differenzierung von HTML, XHTML und XML nicht ganz einleuchtend.

Was sind die wesentlichen Unterschiede, Vor- und Nachteile?

Warum sollte ich ein Dokument in XHTML statt in HTML schreiben (jeweils Strict)?

Es heißt ja immer XML sei Zukunft und habe eine Menge Vorteile auch vorallem im Datenaustausch. Aber was soll es mir bringen, wenn bei mir Datensätze z.B. so aussehen:
<abs>Dies ist ein Textabsatz</abs>
Und mithilfe von XSLT dann zu
<p>Dies ist ein Textabsatz</p>
wird? Dann kann ich es doch gleich so schreiben und auch so dann für den Datenaustausch nehmen.

Und wenn ich meine Seite mit XML aufbauen möchte, wie könnte ich das dann sinnvoll für "alle" Browser hinkriegen? Sprich, dass die die nicht mit XML umgehen können trotzdem an die Inhalte kommen?

Grüßle

  1. Was sind die wesentlichen Unterschiede, Vor- und Nachteile?

    Hier sind die Unterschiede zwischen HTML und XHTML: http://de.selfhtml.org/html/xhtml/unterschiede.htm

    XML ist ähnlich aufgebaut aber nur für Daten zuständig (also kein Design)

    Warum sollte ich ein Dokument in XHTML statt in HTML schreiben (jeweils Strict)?

    Du solltest in XHTML schreiben weil es dann für die Browser ganz eindeutig ist wie die Seite dargestellt werden soll. HTML lässt viele invalide Konstrukte durch und jeder Browser interpretiert sie anderst.

    Ich persöhnlich probiere schon lange auf XHTML umzusteigen, das Problem ist dass der IE6 (Marktführer) von XHTML scheinbar keine Ahnug hat und teilweise das Design völlig falsch darstellt. Solange dieser Krüppelbrowser noch so stark vertreten ist musst du gute Nerven und viel Zeit investieren um XHTML in allen Browsern richtig darzustellen.

  2. Hallo,

    Hallo SELFHTMLer,

    hab da mal eine wohl doofe Frage, aber mir ist die Differenzierung von HTML, XHTML und XML nicht ganz einleuchtend.

    XML ist eine "Philosophie" wie man Daten speichert. Das hat mit dem Netzt erst einmal nur begingt etwas zu tun. Das ODF-Format aus OpenOffice ist bspw. auch ein XML-Format.

    XHTML ist der Versuch, HTML mit XML nachzubauen, ohne jedoch immer die gesamten Formatierungen und Verschachtelungsregeln vornehmen zu müssen. Faktisch interpretieren die meisten Browser XHTML als HTML.

    Was sind die wesentlichen Unterschiede, Vor- und Nachteile?

    XML ist sehr viel mächtiger als XHTML und daher auch aufwendiger und umfangreicher. Der Datenaustausch zwischen verschiedenen XML-Formaten
    ist einfacher.

    Warum sollte ich ein Dokument in XHTML statt in HTML schreiben (jeweils Strict)?

    Auf alle Fälle immer eine Strict-Variante verwenden, da diese den Browser zwingt, halbwegs standardkonform zu arbeiten. Andernfalls kommst du in den Quirks-Mode und da machen die Browser, was ihnen gerade in den Kopf kommt. Ihr Verhalten ist kaum noch sinnvoll vorhersehbar. XHTML zwingt dich ein wenig, sauberer zu schreiben, und macht daher auch Sinn.

    Es heißt ja immer XML sei Zukunft und habe eine Menge Vorteile auch vorallem im Datenaustausch. Aber was soll es mir bringen, wenn bei mir Datensätze z.B. so aussehen:
    <abs>Dies ist ein Textabsatz</abs>
    Und mithilfe von XSLT dann zu
    <p>Dies ist ein Textabsatz</p>
    wird? Dann kann ich es doch gleich so schreiben und auch so dann für den Datenaustausch nehmen.

    Eben, XML wäre für die meisten Seiten Kanonen auf Spatzen gleichzusetzen. Zudem ist XML umfangreicher als man denkt.

    Und wenn ich meine Seite mit XML aufbauen möchte, wie könnte ich das dann sinnvoll für "alle" Browser hinkriegen? Sprich, dass die die nicht mit XML umgehen können trotzdem an die Inhalte kommen?

    Für alle Browser kriegste sowieso nie alles hin. Einfach standardkonform schreiben. Es reicht, wenn es moderne Browser halbwegs richtig hin kriegen.

    Ciao
    Heinzelhund

  3. Hallo,

    hab da mal eine wohl doofe Frage, aber mir ist die Differenzierung von HTML, XHTML und XML nicht ganz einleuchtend.

    In der Liste fehlt für eine vollständige Antwort noch SGML. SGML und XML sind Metasprachen. Sie legen die generelle Syntax für darauf aufbauende Sprachen fest. SGML ist durch viele Ausnahmeregeln relativ komplex und hat sich daher nicht wirklich durchsetzen können.

    XML ist eine vereinfachte Untermenge von SGML. Durch die strengen Regeln ist erheblich einfacher in der Anwendung. Auch das Schreiben von Parsern für XML ist bedeutend einfacher als für SGML.

    Es heißt ja immer XML sei Zukunft und habe eine Menge Vorteile auch vorallem im Datenaustausch. Aber was soll es mir bringen, wenn bei mir Datensätze z.B. so aussehen:
    <abs>Dies ist ein Textabsatz</abs>
    Und mithilfe von XSLT dann zu
    <p>Dies ist ein Textabsatz</p>
    wird? Dann kann ich es doch gleich so schreiben und auch so dann für den Datenaustausch nehmen.

    XML muss nicht zwangsläufig in HTML umgewandelt werden. Z.B. basiert das Open Office-Format auf XML. Öffne mal ein Open Office-Dokument mit einem ZIP-Entpacker, das siehst was gemeint ist.

    Ein anderes Beispiel für die Verwendung von XML ist das Jabber-Protokoll (Instant Messageing). Dieses basiert auch auf XML.

    Bei der Softwareentwicklung hat XML den Vorteil, das Bibliotheken für die XML-Verarbeitung für praktisch jede Programmiersprache zur Verfügung stehen. Bei Java werden die notwendigen Klassen z.B. gleich mitgeliefert, für C gibt es gleich mehrere Bibliotheken.

    Und wenn ich meine Seite mit XML aufbauen möchte, wie könnte ich das dann sinnvoll für "alle" Browser hinkriegen? Sprich, dass die die nicht mit XML umgehen können trotzdem an die Inhalte kommen?

    Das ist nicht unbedingt Sinn und Zweck von XML. Browser sind im Prinzip HTML-Viewer, die aus einem (X)HTML-Dokument und dazugehörigem CSS ein schöne Ausgabe produzieren sollen.

    Sinn macht XML z.B. wenn man Inhalte unabhängig vom Ausgabemedium halten möchte. Docbook ist ein gutes Beispiel dafür. Docbook ist ein auf SGML bzw. XML basierende Auszeichnungssprache für Dokumente, insbesondere für Dokumentationen im IT-Umfeld.

    Aus Docbook kann man über XSL verschiedene Ausgabe-Formate, z.B. HTML, PDF (mit Umweg über XSL-FO oder LaTeX), RTF, Postscript etc. erzeugen.

    Gruß

    Stareagle

  4. Hi,

    Aber was soll es mir bringen, wenn bei mir Datensätze z.B. so aussehen:
    <abs>Dies ist ein Textabsatz</abs>
    Und mithilfe von XSLT dann zu
    <p>Dies ist ein Textabsatz</p>
    wird? Dann kann ich es doch gleich so schreiben und auch so dann für den Datenaustausch nehmen.

    Genau so ist es. Abgesehen davon ist das zweite sowohl XHTML als auch XML.
    Wenn Du mit den in XHTML vorhandenen Elementen Deine Inhalte klar genug auszeichnen kannst, dann verwende XHTML. Wenn Dir diese Elemente allerdings nicht ausreichen, denke über den Einsatz von XML nach.
    Mal ein Beispiel:

    <address>  
      <span class="name">Vorname Name</span>,  
      <span class="Wohnort">PLZ Ort</span>,  
      <span class="strasse>Straße 123</span>  
    </address>
    

    in XHTML ist Dir vielleicht irgendwann zu unspezifisch zur Weiterverarbeitung, so dass Du vielleicht lieber direkt

    <address>  
      <name>  
        <vorname>Vorname</vorname>  
        <familienname>Name</familienname>  
      </name>  
      <anschrift>  
        <postleitzahl>PLZ</postleitzahl>  
        <ort>Ort</ort>  
        <strasse>Straße</strasse>  
        <hausnummer>123</hausnummer>  
      </anschrift>  
    </address>
    

    schreiben möchtest.

    freundliche Grüße
    Ingo

    1. @@Ingo Turski:

      in XHTML ist Dir vielleicht irgendwann zu unspezifisch zur Weiterverarbeitung, so dass Du vielleicht lieber direkt […] schreiben möchtest.

      Oder XHTML mit Mikroformaten [http://mikroformate.de/, http://microformats.org/]:

      <address class="vcard">  
        <span class="fn n"><span class="given-name">Vorname</span> <span class="family-name">Nachname</span></span><br />  
        <span class="adr">  
          <span class="street-address">Straße 123</span><br />  
          <span class="postal-code">PLZ</span> <span class="locality">Ort</span>  
        </span>  
      </address>
      

      Oder XHTML mit RDFa [http://www.w3.org/TR/xhtml-rdfa-primer/, http://www.w3.org/TR/rdfa-syntax].

      Live long and prosper,
      Gunnar

      --
      „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
  5. Hallo,

    vielen dank für eure Antworten.

    Also wäre die erste Wahl auf jedenfall mal XHTML-Sctrict, da ich damit mehr gezwungen bin validen Code zu schreiben und ich ein paar Fehlinterpretationen ausschließe.

    XML macht also nur dann Sinn, wenn ich es für bestimmte Strukturen benötige, weil mir einfach asugedrückt die semantische Textauszeichnung mit XHTML nichtmehr wirklcih möglich ist/mir ein Element fehlt. Dies sollte ich aber dann Serverseitig eben für die Ausgabe im WWW wieder in XHTML verwandeln?

    Gruß