Ralf Köchert: HTML - XHTML das ist hier die Frage

Guten Morgen,

Ich stehe vor einer Entscheidung. Es geht darum, die Dokumenttyp-Angabe von derzeit:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
auf:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> zu verändern.
Ich bin daran interessiert, welche Erfahrungen ihr mit diesem Thema  habt, egal welcher Art.
Zum Verständniss: die Erläuterungen zu diesem Thema bei SELFHTML sind vom 27.10.2001. Gibt es noch neuere Ergänzungen? Bei dem zugrundeliegenden Projekt geht es um einige Millionen Zeilen Quelltext. Ich muss davon ausgehen, dass es bei einer Änderung der Dokumenttyp-Angabe diverse Verstöße gibt und die Frage ist, fangen gängige Browser das über "Transitional" ab?
Das Web läuft bis auf minimale Darstellungsunterschiede in NS, IE, Mozilla, Opera und im SELFHTML-Browser problemlos.
Über kurz oder lang werde ich an der Umstellung der Syntax nicht vorbeikommen, einfaches Beispiel, die Standalone-Tags. Diese Umstellung braucht Zeit.

Also vielleicht gibt es ja einen, der diese Aktion schon hinter sich hat.

Schönes Wochenende und Ciao

Ralf

  1. Hallo Ralf,

    einen echten Grund sehe ich für eine Umstellung nicht. Vor daher würde ich bis zum nächsten Relaunch warten und dann von vornherein auf XHTML (1.0 Strict oder gleich 1.1) umstellen. Denke, es ist den Aufwand nicht unbedingt wert, und zahlen (auch ggf. nur den Freizeitverlust) wird's Dir niemand.
    Neue Projekte starte ich mit XHTML, alte bleiben bei mir erst mal wie sie sind.

    Grüße aus Würzburg
    Julian

    1. Hallo Ralf,

      einen echten Grund sehe ich für eine Umstellung nicht.

      Hallo Julian,

      der echte Grund ist, die "Haltbarkeit" dieses Projektes ist für fünf bis zehn Jahre gedacht. Da es jeden Tag wächst, wachsen auch Aufwand und Fehler wenn eine Umstellung tatsächlich notwendig wird, warum auch immer das so kommt und wann. Kostenfaktor und Verfügbarkeit setzen hier enge Grenzen. Also meine Situatiuon ist, umstellen muss ich irgendwann, und schweren Herzens, besser heute als morgen. XHTML wird aus meiner Sicht auf Dauer keiner auffhalten können. Meine Meinung ob XHTML wirklich ein Fortschritt ist, ist hier zweitrangig.

      Deswegen war ich daran interessiert, ob das jemand schon mal durch hat.

      Ciao Ralf

      1. Hi Ralf,

        also mit einer zeitlichen Perspektive von 5-10 Jahren würde ich auf Nummer sicher gehen und mit txt-Dateien arbeiten: >;-)

        Spaß beiseite. Wenn ich mir überlege, was in den letzten 5-10 Jahren alles passiert ist, welche Standards sich geändert haben, welche Erweiterungen von HTML kamen usw., ist es meiner Meinung nach Illusion, dass man ein Projekt solange Zeit am aktuellen Standard halten kann. Sicherlich ist's dann aber nicht verkehrt, wenn man heute auf einen möglichst aktuellen (und unterstützten) Standard geht.

        Grüße aus Würzburg
        Julian

  2. hi

    Ich stehe vor einer Entscheidung. Es geht darum, die Dokumenttyp-Angabe von derzeit:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    auf:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> zu verändern.
    Ich bin daran interessiert, welche Erfahrungen ihr mit diesem Thema  habt, egal welcher Art.

    der einzige Wirkliche Unterschied ist der Validator, der bei XHTML weniger Tollerant ist und sich einige Dinge, die auch für Browser problematisch sein können nicht mehr gefallen läßt. Mit angabe der URL dahinter schaitest du außerdem altuelle Browser in dem Standards-mode, womit sich diese erheblich kompatibler verhalten.
    Ansonsten muss ich mich Julian anschließen, wirklich Sinn macht es nur, wenn man gleich XHTML 1.1 oder 1.0 Strict benutzt, alles andere ist "halber Kram".

    Grüße aus Bleckede

    kai

  3. Hi Ralf,

    Ich bin daran interessiert, welche Erfahrungen ihr
    mit diesem Thema  habt, egal welcher Art.

    HTML 4.01 nach XHTML 1.0 Transitional ist verhältnis-
    mäßig einfach. Das meiste davon läßt sich prima auto-
    matisieren.
    (Falls es nur darum geht, Programmcode anzupassen,
    der HTML generiert, ist es noch wesentlich einfacher.)

    Deutlich schlimmer wäre da schon HTML 4.01 Transitional
    nach HTML 4.01 Strict - da muß man in den meisten
    Fällen nicht einfach nur ändern, sondern in einer
    anderen Sprache (CSS) nachbilden, also ganz neu denken.
    Auch sind die Verschachtelungsregeln bei "Strict" sehr
    viel schärfer - die Trennung zwischen block- und
    inline-Elementen ist dort konsequent durchgezogen, und
    vieles, was bisher einfach "durchging" (wie Bilder
    oder Link-Anker außerhalb von Block-Elementen), ist
    nun verboten und muß durch eine bestimmte der zuvor
    vielen erlaubten Methoden gelöst werden.
    (Strict-Dokumente sind mit ganz wenigen Ausnahmen
    immer auch Transitional - das Gegenteil gilt in
    keinster Weise. Da ist der Name wirklich Programm.)

    HTML 4.01 Strict nach XHTML 1.0 Strict oder gar XHTML
    1.1 ist dann wieder genauso einfach wie bei den Tran-
    sitional-Versionen - da ändert sich nur Syntax, nicht
    auch Semantik.

    Bei dem zugrundeliegenden Projekt geht es um einige
    Millionen Zeilen Quelltext.

    Holla ... meinst Du Programmquelltext oder HTML-Code?
    (Ich habe meine Homepage gerade mal durchzählen lassen

    • das sind ja nicht mal 150.000 Zeilen ... die Pro-
      gramme, welche ich für die Generierung dieser Seiten
      überwiegend einsetze, sind zusammen auch ca. 50.000
      lines of code, bei denen aber die HTML-Schablonen zum
      großen Teil aus Konfigurationsdateien eingelesen wer-
      den - da mußte ich manchmal keine Zeile im Programm
      selbst ändern.)

    Ich muss davon ausgehen, dass es bei einer Änderung
    der Dokumenttyp-Angabe diverse Verstöße gibt

    Bist Du denn sicher, daß die bisherigen Seiten alle
    valide gegen HTML 4.01 Transitional sind?

    Kannst Du Deine Dokumente automatisiert validieren?
    (W3C-Validator lokal installieren und per Programm
    über alle Dokumente drüber laufen sollte funktionie-
    ren; das Ergebnis ggf. jeweils als Datei speichern,
    Quelldateien per Programm schrittchenweise modifizie-
    ren, geänderte Dateien neu validieren, erfolgreich
    validierte Dateien aus dem Baum in eine endgültige
    Ablage übertragen ... auf diese Weise verbraucht sich
    die Dokumentmenge nach und nach, und die "harten
    Nüsse", die echten Problemfälle, bleiben bis zum
    Schluß übrig und können manuell bearbeitet werden.)

    und die Frage ist, fangen gängige Browser das über
    "Transitional" ab?

    Im Moment interessieren sich noch sehr wenige Browser
    dafür, ob und welcher DOCTYPE in einem Dokument steht
    und ob der irgendwas mit der Realität zu tun hat.
    Es geht allerdings gerade los (M$IE 6, immerhin).

    Mit validem HTML 4.01 und entsprechendem DOCTYPE
    gehören Deine Seiten schon eher zur oberen Mittel-
    klasse ... wenn man sich so umsieht, was im Web alles
    kreucht und fleucht, ist das schon sehr ordentlich.

    Über kurz oder lang werde ich an der Umstellung der
    Syntax nicht vorbeikommen,

    Wieso? Was genau hoffst Du denn zu gewinnen?

    einfaches Beispiel, die Standalone-Tags.

    Was ist damit?

    Diese Umstellung braucht Zeit.

    In der Tat. Ich habe vor einem Jahr mal ein paar
    Stunden damit verbracht, per Editor Suchen und
    Ersetzen durch ca. 1500 Dateien zu machen, auf dem
    Weg nach XHTML 1.0 Transitional. Arg viel mehr als
    das konsequente Kleinschreiben von Tags war das gar
    nicht - und das läßt sich sehr gut per Programm
    automatisieren. (Mein Editor kann regular expres-
    sions über ganze Bäume suchen und Strings in allen
    geladenen Dateien ersetzen, das half enorm.)
    Für die zehnfache Dateimenge hätte ich nicht wesent-
    lich länger gebraucht - ob ich ein tag in tausend
    oder zehntausend Dateien ersetze, ist eine Frage
    von Minuten, wenn der Rechner schnell genug ist.

    Der Weg nach XHTML 1.0 Strict (oder dann gleich XHTML
    1.1, _der_ Unterschied ist trivial) ist _wesentlich_
    länger. (In den letzten drei Tagen habe ich ca. 200
    Dateien umgestellt ... das zieht sich schon über
    Monate hin, ich mache immer mal wieder einen Teil-
    bereich fertig. Und einiges - Frames und Verweise
    in andere Fenster - geht einfach überhaupt nicht
    umzustellen, weil es in neueren XHTML-Dialekten
    nicht mehr existiert. "Neuer" ist keineswegs immer
    eine Obermenge ... soviel zur "Zukunftssicherheit".)

    Mir ist nicht wirklich klar, was genau Du Dir von der
    Umstellung erhoffst.
    Die momentane Browser-Situation erzwingt das nicht.
    Andererseits ist es sicher nicht verkehrt, bei neuen
    Projekten mit der aktuellsten HTML-Version zu beginnen,
    die verfügbar ist und die man selbst beherrscht - und
    die für die gestellte Aufgabe uberhaupt ausreicht
    (Frames, mehrere Fenster ...).

    Es schadet auch überhaupt nicht, eine solche Umstel-
    lung beliebig inkrementell zu machen: Alles, was eh
    geändert werden muß, versucht man, gegen eine möglichst
    hohe HTML-Version zu validieren, wenn die Anpassung
    gerade mal trivial geht.
    Andererseits ist es extrem sinnvoll, Dokumente gleicher
    "Bauart" in einem Rutsch umzustellen, weil man sehr
    wahrscheinlich gemeinsame style sheets dafür einsetzen
    will, um identische (und ausgelagerte) Formatierungen
    dafür zu verwenden. Das ist fast derselbe Vorgang wie
    die Anpassung von Code zur Generierung solcher ein-
    heitlicher Seiten.
    Diese Style Sheets zu bauen ist aber wirklich die
    Hauptarbeit, wenn man mit Prä-CSS-Seiten startet ...
    das bißchen Kleinschreibung von tags und das Schließen
    singulärer tags sind da fast vernachlässigbar, weil
    praktisch ohne eigene Intelligenz zu erreichen.

    Insofern rate ich Dir (abweichend von den übrigen
    Postings dieses Threads), erst mal eine Umstellung
    nach XHTML 1.0 Transitional in Angriff zu nehmen.
    Du machst dabei nichts, was Du für spätere, weiter-
    reichende Umstellungen nicht ohnehin brauchen würdest,
    und es geht fast komplett mit Programmunterstützung.
    Dabei kannst Du den Prozeß als solchen etablieren
    (Automatisierung, siehe oben), bevor Du Dich an die
    wirklich lästigen Änderungen bei "Strict" wagst - für
    die dann auch konkrete Aufgabenstellungen erforderlich
    sind, weil nicht alle Inhalte erhalten bleiben können.

    Viele Grüße
          Michael

    P.S.: Bedenke auch, daß Netscape 4 Dokumente in XHTML
          1.1 nicht mehr korrekt verarbeiten kann
          (link-targets sind dann nämlich <a id=>, nicht
          mehr <a name=>, und das versteht er noch nicht).