Tom: XHTML ordnungsgemäß ausliefern

0 53

XHTML ordnungsgemäß ausliefern

Tom
  • php
  1. 0
    Ingo Turski
    1. 0
      Tom
      1. 0
        Stahli
        1. 0
          ChrisB
          1. 0
            Stahli
          2. 0
            Tom
            1. 0
              Ingo Turski
  2. 0
    Daniel unreg
    1. 0
      Tom
      1. 0
        Daniel unreg
        1. 0
          Gunnar Bittersmann
          1. 0
            Daniel unreg
            1. 0
              Gunnar Bittersmann
              1. 0
                Daniel unreg
                • html
                1. 0
                  Tom
                  1. 0
                    Daniel unreg
                  2. 0
                    molily
                2. 0
                  Christoph
                  1. 0
                    Daniel unreg
                    1. 0
                      Christoph
                      1. 0
                        Daniel unreg
                        1. 0
                          Christoph
                          1. 0
                            Daniel unreg
                    2. 0

                      XHTML XML-konform

                      Robert Bienert
                3. 0
                  Cyx23
                  1. 0
                    Daniel unreg
                    1. 0
                      Cyx23
                    2. 0
                      Ingo Turski
                      1. 0
                        Daniel unreg
                      2. 0
                        Tom
                4. 0
                  Gunnar Bittersmann
                  1. 0
                    Daniel unreg
                    1. 0
                      Gunnar Bittersmann
                5. 0
                  molily
                  1. 0
                    Gunnar Bittersmann
                    1. 0
                      Gunnar Bittersmann
                  2. 0
                    Daniel unreg
                    1. 0
                      molily
                      1. 0
                        Daniel unreg
                6. 1

                  Zu den ewigen XHTML-Diskussionen

                  molily
                  1. 0
                    Daniel unreg
        2. 0
          Robert Bienert
          • html
      2. 0
        molily
    2. 0
      Gunnar Bittersmann
      1. 0
        Daniel unreg
        1. 0
          Gunnar Bittersmann
          1. 0
            Daniel unreg
            1. 0
              molily
              1. 0
                Daniel unreg
  3. 0

    XHTML

    Markus Speicherl
    • meinung
    1. 0

      Nachtrag (empfehlung)

      Markus Speicherl
    2. 0
      molily

Hello,

Ich habe gerade das erste Mal den Artikel zu XHTML gelesen.
Im Druck 14 Seiten, da raucht der Kopf noch.

Nun stellt sich mir die Frage, wie ich mittels PHP generierte XHTML-Seiten sinnvoll auszeichne, damit die vom Browser auch als solche behandelt werden.

Da sie für Übergangszeiten oder auch für die Ewigkeit noch gemischt auf dem Server liegen werden mit "normalen" HTML-Seiten, die ebenfalls mittels PHP generiert werden, kann ich nicht einfach dem Apachen einen MIME-Type aufzwingen.

Die Endung ist immer ".php" oder bei Fremdservern auch ".php5"

Sollte man also nun in jede mit PHP generierte XHTML-Seite einen Content-Type-Header einfügen, und wenn ja, dann welchen?

Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

  1. Hi,

    Sollte man also nun in jede mit PHP generierte XHTML-Seite einen Content-Type-Header einfügen, und wenn ja, dann welchen?

    nein. Du darfst XHTML 1.0 als text/html ausliefern und solltest dies aus Rücksicht auf veraltete Browser wie dem IE auch tun. Anders bei XHTML 1.1, aber dann müsstest Du die Ausgabe  abhängig vom Client machen.

    freundliche Grüße
    Ingo

    1. Hello,

      Sollte man also nun in jede mit PHP generierte XHTML-Seite einen Content-Type-Header einfügen, und wenn ja, dann welchen?

      nein. Du darfst XHTML 1.0 als text/html ausliefern und solltest dies aus Rücksicht auf veraltete Browser wie dem IE auch tun. Anders bei XHTML 1.1, aber dann müsstest Du die Ausgabe  abhängig vom Client machen.

      'Dürfen' ja ...

      Ich habe den Artikel und auch einige der weiterführenden Links aber so verstanden, dass die Ressourcen dann ausschließlich vom HTML-Parser verarbeitet werden. Die Dateiendung kann ich hier nicht ändern, die ist immer .php oder .php5.

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      1. Hi,

        Ich habe den Artikel und auch einige der weiterführenden Links aber so verstanden, dass die Ressourcen dann ausschließlich vom HTML-Parser verarbeitet werden. Die Dateiendung kann ich hier nicht ändern, die ist immer .php oder .php5.

        Der Client benutzt den XML-Parser, wenn du den richtigen DocType definierst und das Dokument als XML-Datei makierst, indem du in die erste Zeile ein
        <?xml version="1.0" encoding="ISO-8859-1" ?>
        oder ähnliches setzt.
        Was passiert, wenn du zusätzlich noch den MIME-Typ text/xml versendest, weiß ich nicht.

        Gruß,
        Felix

        --
        Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
        René Descartes
        1. Hi,

          Der Client benutzt den XML-Parser, wenn du den richtigen DocType definierst und das Dokument als XML-Datei makierst, indem du in die erste Zeile ein
          <?xml version="1.0" encoding="ISO-8859-1" ?>
          oder ähnliches setzt.

          Noe.

          Was passiert, wenn du zusätzlich noch den MIME-Typ text/xml versendest, weiß ich nicht.

          Erst _dann_ (oder mit einem anderen XML-Mimetype) fuehlt sich ein Client befleissigt, das ganze als XML zu parsen.

          MfG ChrisB

          1. Hi,

            Was passiert, wenn du zusätzlich noch den MIME-Typ text/xml versendest, weiß ich nicht.
            Erst _dann_ (oder mit einem anderen XML-Mimetype) fuehlt sich ein Client befleissigt, das ganze als XML zu parsen.

            Oh, okay danke. Ich hatte einmal einen XML-Parsing Error in Opera, ohne, dass ich einen XML-Mimetype mitgesendet habe. Seit dem war ich der Ansicht, dass text/html ausreichend ist. Ich kann den Fall jetzt aber auch nicht mehr rekonstruieren.

            Gruß,
            Felix

            --
            Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, dass er genug davon habe.
            René Descartes
          2. Hello,

            Der Client benutzt den XML-Parser, wenn du den richtigen DocType definierst und das Dokument als XML-Datei makierst, indem du in die erste Zeile ein
            <?xml version="1.0" encoding="ISO-8859-1" ?>
            oder ähnliches setzt.

            Noe.

            Was passiert, wenn du zusätzlich noch den MIME-Typ text/xml versendest, weiß ich nicht.

            Erst _dann_ (oder mit einem anderen XML-Mimetype) fuehlt sich ein Client befleissigt, das ganze als XML zu parsen.

            Genau _das_ gilt es jetzt zu klären.
            Soweit ich das bisher nachgelesen habe, wäre die andere Lösung eben, die Extension zu ändern und zu hoffen. Nur das kann ich sowieso nicht, da die .php oder .php5 bleiben muss.

            Bin gespannt, wie man es generell richtig macht. Ich bin da noch ratlos.

            Harzliche Grüße vom Berg
            http://bergpost.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

            1. Hi,

              Erst _dann_ (oder mit einem anderen XML-Mimetype) fuehlt sich ein Client befleissigt, das ganze als XML zu parsen.

              Genau _das_ gilt es jetzt zu klären.
              Soweit ich das bisher nachgelesen habe, wäre die andere Lösung eben, die Extension zu ändern und zu hoffen. Nur das kann ich sowieso nicht, da die .php oder .php5 bleiben muss.

              Du machst Dir völlig überflüssige Gedanken. Verwende XHTML 1.0 und liefere das als text/html aus. Kein moderner Browser wird damit Probleme haben oder etwas anderes darstellen, als wenn Du application/xhtml+xml angibst. Anders herum würde der IE eine als application/xhtml+xml ausgelieferte Datei zum Download anbieten und das willst Du doch wohl nicht, oder?

              Es sei denn, Du benötigst spezielle XHTML-Features.
              http://www.w3.org/TR/xhtml-media-types/#text-html:
              "The use of 'text/html' for XHTML SHOULD be limited for the purpose of rendering on existing HTML user agents, and SHOULD be limited to [XHTML1] documents which follow the HTML Compatibility Guidelines. In particular, 'text/html' is NOT suitable for XHTML Family document types that adds elements and attributes from foreign namespaces, such as XHTML+MathML [XHTML+MathML]."

              freundliche Grüße
              Ingo

  2. Hallo,

    Ich habe gerade das erste Mal den Artikel zu XHTML gelesen.

    Welcher ist *der* Artikel zu XHTML?

    Da sie für Übergangszeiten oder auch für die Ewigkeit noch gemischt auf dem Server liegen werden mit "normalen" HTML-Seiten, die ebenfalls mittels PHP generiert werden, kann ich nicht einfach dem Apachen einen MIME-Type aufzwingen.

    Warum willst du etwas auf ein schlechteres Format umstellen, wenn das aktuelle völlig zufreidenstellend ist?

    Sollte man also nun in jede mit PHP generierte XHTML-Seite einen Content-Type-Header einfügen, und wenn ja, dann welchen?

    XHTML im Web muss als text/html versendet werden, deshalb ist auch davon abzuraten.

    Gruß;

    1. Hello,

      Ich habe gerade das erste Mal den Artikel zu XHTML gelesen.

      Welcher ist *der* Artikel zu XHTML?

      http://de.selfhtml.org/html/xhtml/unterschiede.htm
      und
      http://schneegans.de/web/xhtml/

      Warum willst du etwas auf ein schlechteres Format umstellen, wenn das aktuelle völlig zufreidenstellend ist?

      Ist XHTML schlechter, als HTML? Ich dachte, man könne da (in absehbarer Zeit zumnindest) Zusatzfunktionalitäten nutzbar machen?

      XHTML im Web muss als text/html versendet werden, deshalb ist auch davon abzuraten.

      *mmh* das ist ja nun ernüchternd.

      Harzliche Grüße vom Berg
      http://bergpost.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

      1. Hallo,

        http://de.selfhtml.org/html/xhtml/unterschiede.htm
        und
        http://schneegans.de/web/xhtml/

        Nicht so berauschend, da man noch einige Punkte zusätzlich beachten muss, die aber hier nicht erwähnt werden.

        Ist XHTML schlechter, als HTML? Ich dachte, man könne da (in absehbarer Zeit zumnindest) Zusatzfunktionalitäten nutzbar machen?

        Du hast lediglich den Vorteil der nicht vorhandenen Fehlertoleranz von XML (wenn du die haben willst, speichere die Daten in XML und transfomiere sie für die Browser in HTML, dann bist du besser dran als mit XHTML).

        Von in absehbarer Zeit kann man hier gewiss nicht reden. Sollte der Internet Explorer 8 unerwarteter Weise XHTML-Unterstützung mit sich bringen dauert es immernoch bis mindestens 2013 bevor du es einsetzen kannst. Was du aber nicht solltest, weil der IE nicht der einizge Browser ohne XHTML-Unterstützung ist.

        *mmh* das ist ja nun ernüchternd.

        Ja, leider. Aus diesem Grund kannst du keine der Zusatzfunktionalitäten nutzen, musst aber im Gegenzug noch ein Dutzend Unterschiede zu normalem HTML beachten. Das ist es meiner Meinung nach nicht Wert.

        Gruß;

        1. Hello out there!

          speichere die Daten in XML und transfomiere sie für die Browser in HTML, dann bist du besser dran als mit XHTML.

          Das halte ich für Unsinn.

          Inwiefern sollte man damit "besser dran" sein als mit HTML-kompatiblem, als 'text/html' ausgeliefertem XHTML 1.0? [XHTML1 §C]

          See ya up the road,
          Gunnar

          --
          „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
          1. Hallo,

            Das halte ich für Unsinn.

            Inwiefern sollte man damit "besser dran" sein als mit HTML-kompatiblem, als 'text/html' ausgeliefertem XHTML 1.0? [XHTML1 §C]

            Anhang C der XHTML-1.0-Spezifikation ist lückenhaft (CDATA, tbody) bzw. ungenau (DOM- und CSS-Verarbeitung). Dies wird z.B. von Schneegans und Jedryschik ignoriert, wahrscheinlich wissen es beide nicht besser.

            Um zu deiner Frage zu kommen: Man kombiniert die Fehlerempfindlichkeit mit der Interoperabilität (schlag mich, wie sag ich's auf Deutsch?) von HTML. Im Vergleich zu XHTML das als text/html versendet wird hat man folgenden Vorteil: XHTML als text/html muss als solches und als echtes XHTML identisch funktionieren und verarbeitet werden können (das ist der Grundgedanke von Anhang C). Dies ist ein großer Mehraufwand, der unnötig ist, wenn man mit HTML arbeitet.

            Gruß;

            1. Hello out there!

              Anhang C der XHTML-1.0-Spezifikation ist lückenhaft (CDATA, tbody) bzw. ungenau (DOM- und CSS-Verarbeitung).

              Ich bin mir nicht sicher, ob man das den Autoren zum Vorwurf machen kann. Eine Spezifikation ist kein Tutorial. Die Autoren waren so freundlich, in einem informellen Anhang einige Aspekte anzusprechen. Es kann nicht Aufgabe der XHTML-Spec sein, im Detail auf JavaScript einzugehen.

              XHTML als text/html muss als solches und als echtes XHTML identisch funktionieren und verarbeitet werden können (das ist der Grundgedanke von Anhang C). Dies ist ein großer Mehraufwand

              Verwende bei jeder Tabelle, die du später übers DOM ansprechen willst, 'tbody'. Der Mehraufwand hält sich in engen Grenzen.

              Schreibe in Stylesheets die Elementtypen in Selektoren klein. Kein Mehraufwand.

              Setze JavaScript-Bereiche (sofern überhaupt JavaScript im HTML-Dokument steht), die als CDATA und PCDATA unterschiedlich interpretiert werden würden, als CDATA-Bereiche. Um die Überlegung zu ersparen, welche das betrifft, tu es bei allen. Der Mehraufwand hält sich in engen Grenzen.

              Ich weiß nicht, wo du da "großen Mehraufwand" siehst.

              See ya up the road,
              Gunnar

              --
              „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
              1. Hallo,

                Ich bin mir nicht sicher, ob man das den Autoren zum Vorwurf machen kann. Eine Spezifikation ist kein Tutorial. Die Autoren waren so freundlich, in einem informellen Anhang einige Aspekte anzusprechen. Es kann nicht Aufgabe der XHTML-Spec sein, im Detail auf JavaScript einzugehen.

                Das ist ganz klar, hier widerspreche ich dir nicht. Damit zeige ich nur, dass Anhang-C-kompatibles XHTML einen nicht weiterbringt.

                Verwende bei jeder Tabelle, die du später übers DOM ansprechen willst, 'tbody'. Der Mehraufwand hält sich in engen Grenzen.

                Und wie willst du im DOM ein Element oder Attribut hinzufügen?

                Schreibe in Stylesheets die Elementtypen in Selektoren klein. Kein Mehraufwand.

                Davon sprach ich gar nicht, sondern von der "magischen" Eigenschaft des body-Elements, Hintergrundfarbe, -bild und overflow auf das html-Element zu üebrtragen.

                Setze JavaScript-Bereiche (sofern überhaupt JavaScript im HTML-Dokument steht), die als CDATA und PCDATA unterschiedlich interpretiert werden würden, als CDATA-Bereiche. Um die Überlegung zu ersparen, welche das betrifft, tu es bei allen. Der Mehraufwand hält sich in engen Grenzen.

                CDATA-Bereiche werden von Tagsoup-Parsern nicht verstanden.
                Zeichen wie <, & und ]]> mögen zwar in der Regel nicht vorkommen, sie tun es aber dennoch. Deswegen sehe ich es als Pflicht (und das tue ich auch bei HTML), Stylesheets und Skripte auszulagern.

                Ich weiß nicht, wo du da "großen Mehraufwand" siehst.

                Nun, du beachtest auch nicht alle wichtigen Punkte, es fehlen z.B.

                * Die Zeichenkodierung: Es ist nur utf-8 bzw. utf-16 möglich, da sonst eine XML-Deklaration nötig wäre, was für IE6 schlecht ist. Du hast darauf mal geantwortet, dem sei nicht so, weil es ja den HTTP-Header gibt. Doch Schneegans ist hier auf meiner Seite!

                Es ist im Hinblick auf XML-Software sinnvoll, auf den HTTP-Header verzichten zu können. Insbesondere kann ein XHTML-Dokument dann als Datei mit XML-Software bearbeitet werden. Bspw. MSXML ignoriert den HTTP-Header.

                * XML-Features dürfen nicht genutzt werden: Beispielsweise CDATA-Bereiche, Processing Instructions.

                * Sprachangaben müssen mit dem xml:lang- und dem lang-Attribut angegeben werden und darüberhinaus natürlich identisch sein.

                * Wie gesagt, Stylesheets und Skripte auslagern, denn nur weil bestimmte Zeichen in der Regel nicht vorkommen, bedeutet es nicht, dass sie das nicht tun.

                * Leere Elemente müssen selbstschließend geschrieben werden und nicht mit der äquivalenten Schreibweise <element></element>

                * nicht-leere Elemente ohne Inhalt dürfen nicht selbstschließend geschrieben werden, also kein <element/>

                * Außer für <, >, & und " dürfen keine benannten Entitäten verwendet werden sondern nur dezimale oder hexadezimale.

                * Vergleicht man die DTDs von HTML und XHTML so ergeben sich Differenzen: In der Strict Variante darf in HTML das form-Element ein name-Attribut besitzen, in XHTML nicht. In allen HTML-Varianten ist das ismap-Attribut für das input-Element erlaubt, aber in keiner XHTML-Variante.

                * Das Dokument darf nur in XML 1.0 erlaubte Zeichen enthalten. Z.B. kein U+000C, wie in HTML.

                * Das von dir bereits genannte tbody-Element wird in HTML automatisch eingefügt, in XHTML ist es gänzlich optional.

                * Stylesheets: Groß- und Kleinschreibung, besondere Eigenschaft des body-Elements.

                * JavaScript/DOM: document.writeln darf nicht verwendet werden. Ebenso Level-1-Methoden des DOM wie createElement. Hier müssen die Namensraumfähigen Varianten dieser Methoden verwendet werden. Die kann der Internet Explorer allerdings nicht verarbeiten.

                * Außerdem kann z.B. das isindex-Element in XHTML nicht verwendet werden.

                * Zudem habe ich schon meine Bedenken geäußert, wie ein XML-Parser mit XHTML umgehen kann. XHTML 1.0 und 1.1 befinden sich im selben Namensraum, den auch XHTML 2.0 (nach aktuellem Stand, nicht dem Working Draft Stand) ebenfalls diesen Namensraum verwenden. Alle drei sind aber zueinander inkompatibel. In 1.1 ist es nur das usemap-Attribut. In 2.0 sind es Formulare, Absätze, Überschriften, nahezu alles. Sag mir: Wie soll ein XML-parser hier zurechkommen? Doctype-Sniffing in XML? Damit verliert XML seinen Sinn.

                Das sind alle Punkte, die mir bis jetzt eingefallen sind.

                Gruß;

                1. Hello,

                  wenn ich das alles lese, und dann die Einschätzungen im Netz finde, dass XHTML vor 2010 (mamche shcätzen sogar 20017) sich sowieso nicht durchgetzt haben kann, dann halte ich den Aufwand für zu hoch, das jetzt schon konsequent zu verwenden.

                  Haltet Ihr es für möglich, dass HTML vor 2028 vom Markt verschwindet?
                  So lange wollte ich eigentlich noch tätig bleiben, wenn der Alzheimer mich nicht bis dahin einholt. :-)

                  Harzliche Grüße vom Berg
                  http://bergpost.annerschbarrich.de

                  Tom

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau
                  Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

                  1. Hello,

                    Haltet Ihr es für möglich, dass HTML vor 2028 vom Markt verschwindet?

                    HTML wir niemals vom Markt (Web) verschwinden. Man dachte ja z.B. auch, dass XHTML für das mobile Web brauchbar sein wird, doch inzwischen sind dort die HTML-fähigen Desktopbrowser dominant. Und HTML 5 wird bis 2028 aus HTML auch ein vernüftigeres Format machen, als es heute ist.

                    wenn ich das alles lese, und dann die Einschätzungen im Netz finde, dass XHTML vor 2010 (mamche shcätzen sogar 20017) sich sowieso nicht durchgetzt haben kann, dann halte ich den Aufwand für zu hoch, das jetzt schon konsequent zu verwenden.

                    Nun, XHTML wird sich meiner Meinung nach nicht durchsetzten, bevor der erste XHTML-fähige Internet Explorer nicht mindestens 5-6 Jahre auf dem Markt ist. Obwohl es dann wohl immernoch nicht-XHTML-fähige Benutzeragenten geben wird.

                    Die HTML-5-Autoren gehen nebenbei auch nicht davon aus, dass die Spezifikation vor 2022 zur Empfehlung wird. Allerdings sind in diesem Zeitraum bereits die vollständige und interoperable Implementierung der Spezifikation in zwei verschiedenen Browsern enthalten.

                    Es gibt ja bereits teilweise Implementierungen von HTML 5 (canvas, getElementsByClassName, experimentelles video-Element). HTML-5-Features kann man also benutzen, sobald sie gut spezifiziert und interoperabel implementiert sind.

                    Gruß;

                  2. Hallo,

                    Du machst den Sinn von XHTML davon abhängig, ob ein Browser XHTML als XML versteht, also das XHTML im Browser als solches verarbeitet werden kann. Das ist aber kein Wert an sich. Abgesehen vom winzigen Vorteil, dass der XML-Parser geringfügig schneller, weil rigide arbeitet, hast du browserseitig so ziemlich dieselben Möglichkeiten wie bei HTML 4 - es sei denn, du hast besondere Bedingungen, willst z.B. MathML, SVG oder anderes XML einbetten, willst mit dem XHTML-Dokument XSL-Transformationen durchführen (warum auch immer, normalerweise transformiert man ja ein Speicherformat nach (X)HTML) oder ähnliches.

                    Mathias

                2. Moin Daniel.

                  Mal ein paar Anmerkungen meinerseits. Ich selbst verwende derzeit noch HTML-Tidy zertifiziertes HTML 4.01 Strict.

                  Ich würde aber prinzipiell eher Gunnar zustimmen und als text/html ausgeliefertes XHTML 1.0 als gangbare Alternative sehen; wenn man möchte,kann man ja zusätzlich den Accept-Header auf application/xhtml+xml prüfen und gegebenenfalls den korrekten Mime-Type ausliefern.

                  Die Punkte, die du neu angesprochen hast, wirken auf Grund ihrer bloßen Anzahl erstmal erschreckend, in vielen Fällen braucht man sich darum aber wenig Gedanken zu machen:

                  * Die Zeichenkodierung: Es ist nur utf-8 bzw. utf-16 möglich, da sonst eine XML-Deklaration nötig wäre, was für IE6 schlecht ist. Du hast darauf mal geantwortet, dem sei nicht so, weil es ja den HTTP-Header gibt. Doch Schneegans ist hier auf meiner Seite!

                  Es ist im Hinblick auf XML-Software sinnvoll, auf den HTTP-Header verzichten zu können. Insbesondere kann ein XHTML-Dokument dann als Datei mit XML-Software bearbeitet werden. Bspw. MSXML ignoriert den HTTP-Header.

                  Warum nicht einfach UTF-8 verwenden? Problem gelöst ;)

                  * XML-Features dürfen nicht genutzt werden: Beispielsweise CDATA-Bereiche, Processing Instructions.

                  Die standen in HTML auch nicht zur Verfügung - mindert den Mehrwert, ist aber kein Problem per se.

                  * Sprachangaben müssen mit dem xml:lang- und dem lang-Attribut angegeben werden und darüberhinaus natürlich identisch sein.

                  Viele Seiten sind einsprachig - eine einzelne Angabe im Rootelement genügt in diesem Fall...

                  * Wie gesagt, Stylesheets und Skripte auslagern, denn nur weil bestimmte Zeichen in der Regel nicht vorkommen, bedeutet es nicht, dass sie das nicht tun.

                  Oder die CDATA-Anweisung auskommentieren...

                  * Leere Elemente müssen selbstschließend geschrieben werden und nicht mit der äquivalenten Schreibweise <element></element>

                  * nicht-leere Elemente ohne Inhalt dürfen nicht selbstschließend geschrieben werden, also kein <element/>

                  Relevant für automatische Generierung - wer HTML zu Fuß (bzw. per Hand) schreibt, dem sollte das keine Probleme bereiten.

                  * Außer für <, >, & und " dürfen keine benannten Entitäten verwendet werden sondern nur dezimale oder hexadezimale.

                  Deshalb verwendet man ja Unicode - dann braucht man für die Sonderzeichen keine Entities mehr!

                  * Vergleicht man die DTDs von HTML und XHTML so ergeben sich Differenzen: In der Strict Variante darf in HTML das form-Element ein name-Attribut besitzen, in XHTML nicht. In allen HTML-Varianten ist das ismap-Attribut für das input-Element erlaubt, aber in keiner XHTML-Variante.

                  Das ismap-Attribut habe ich noch nie verwendet, und ich bezweifle, dass ich da der einzige bin...

                  * Das Dokument darf nur in XML 1.0 erlaubte Zeichen enthalten. Z.B. kein U+000C, wie in HTML.

                  Nicht-grafische Zeichen interessieren mich nicht ;)

                  * Das von dir bereits genannte tbody-Element wird in HTML automatisch eingefügt, in XHTML ist es gänzlich optional.

                  Das birgt in der Tat Fehlerpotential.

                  * Stylesheets: Groß- und Kleinschreibung, besondere Eigenschaft des body-Elements.

                  In meinen Augen kein Problem.

                  * JavaScript/DOM: document.writeln darf nicht verwendet werden. Ebenso Level-1-Methoden des DOM wie createElement. Hier müssen die Namensraumfähigen Varianten dieser Methoden verwendet werden. Die kann der Internet Explorer allerdings nicht verarbeiten.

                  Ok. Spielt dieses Problem in der Praxis eine Rolle - will meinen: wie verhalten sich die gängigen Browser?

                  * Außerdem kann z.B. das isindex-Element in XHTML nicht verwendet werden.

                  Noch nie benutzt.

                  * Zudem habe ich schon meine Bedenken geäußert, wie ein XML-Parser mit XHTML umgehen kann. XHTML 1.0 und 1.1 befinden sich im selben Namensraum, den auch XHTML 2.0 (nach aktuellem Stand, nicht dem Working Draft Stand) ebenfalls diesen Namensraum verwenden. Alle drei sind aber zueinander inkompatibel. In 1.1 ist es nur das usemap-Attribut. In 2.0 sind es Formulare, Absätze, Überschriften, nahezu alles. Sag mir: Wie soll ein XML-parser hier zurechkommen? Doctype-Sniffing in XML? Damit verliert XML seinen Sinn.

                  Was aber mit dem Problem der Auslieferung von XHTML-Dokumenten an den Empfänger 'gängiger Browser' nichts zu tun hat.

                  Mein Fazit: Ob HTML oder XHTML ist in vielen Fällen Geschmacksfrage - d.h. mein Rat an Tom: Wähle den Weg des geringsten Widerstands, wirf eine Münze oder Folge dem Bauchgefühl.

                  Christoph

                  PS: Ich möchte noch auf eine weitere (zugegebenermaßen wenig praxistaugliche) Möglichkeit verweisen: der Auslieferunfg von XHTML als aplication/xml.

                  1. Hallo,

                    wenn man möchte,kann man ja zusätzlich den Accept-Header auf application/xhtml+xml prüfen und gegebenenfalls den korrekten Mime-Type ausliefern.

                    In Bezug auf die von mir genannten Punket bringt das weder Vor- noch Nachteile.

                    Die Punkte, die du neu angesprochen hast, wirken auf Grund ihrer bloßen Anzahl erstmal erschreckend, in vielen Fällen braucht man sich darum aber wenig Gedanken zu machen:

                    Da hast du schon recht, nur muss der geneigte Autor das erstmal Wissen und dann auch Umsetzen. Für so viel Detailarbeit hab ich keine Zeit.

                    Warum nicht einfach UTF-8 verwenden? Problem gelöst ;)

                    Das ist sowieso Pflicht, wenn man IE6 unterstützen will.

                    Viele Seiten sind einsprachig - eine einzelne Angabe im Rootelement genügt in diesem Fall...

                    Nur weil etwas vermutlich einfach ist bedeutet es nicht, dass man es nicht mehr als falsch machen kann. Das stellt man vor allem fest, wenn man in Forem helfen will ;)

                    Oder die CDATA-Anweisung auskommentieren...

                    Auslagern ist die beste und unkomplizierteste Möglichkeit. Dagegen spricht gar nichts. CDATA auskommentieren ist dabei gar nicht so einfach.

                    Relevant für automatische Generierung - wer HTML zu Fuß (bzw. per Hand) schreibt, dem sollte das keine Probleme bereiten.
                    Deshalb verwendet man ja Unicode - dann braucht man für die Sonderzeichen keine Entities mehr!

                    Ich habe Dinge gesehen... Nein, falscher Film, aber du verstehst?

                    Das ismap-Attribut habe ich noch nie verwendet, und ich bezweifle, dass ich da der einzige bin...

                    Da hast du sehr wahrscheinlich recht. Aber ich fand es wichtig zu zeigen, dass die beiden Varianten eben nicht identisch sind.

                    Nicht-grafische Zeichen interessieren mich nicht ;)

                    Es ist das beste, das mir grad eingefallen ist, weils auch im Anhang C steht. XML 1.0 scheint aber noch mehr begrenzungen mit sich zu bringen.

                    Ok. Spielt dieses Problem in der Praxis eine Rolle - will meinen: wie verhalten sich die gängigen Browser?

                    Das ist wohl der Problempunkt. Opera erlaubt z.B. als einziger document.write() im XML-Modus. Firefox, Opera und Safari verhalten sich darüberhinaus bei den DOM-Methoden stark unterschiedlich. Musste erstmal die Spezifikation lesen um herausfinden zu können, welcher es richtig macht.

                    Noch nie benutzt.

                    War auch nur ne Anmerkung.

                    Was aber mit dem Problem der Auslieferung von XHTML-Dokumenten an den Empfänger 'gängiger Browser' nichts zu tun hat.

                    Meines Erachtens schon. Mozilla schaut bereits nach ob XHTML als Version 1.0 oder 1.1 geliefert wird. Ich halte das sehr schädlich für XML.

                    Mein Fazit: Ob HTML oder XHTML ist in vielen Fällen Geschmacksfrage - d.h. mein Rat an Tom: Wähle den Weg des geringsten Widerstands, wirf eine Münze oder Folge dem Bauchgefühl.

                    Letztendlich wird es so gemacht. Ich weis ja von mir selbst, wie ich immer wieder zwischen HTML und XHTML hin- und hergeschwankt bin. Doch nun bin ich zufrieden bei HTML angelangt.

                    PS: Ich möchte noch auf eine weitere (zugegebenermaßen wenig praxistaugliche) Möglichkeit verweisen: der Auslieferunfg von XHTML als aplication/xml.

                    Hm, eine W3 FAQ stellt eine andere Möglichkeit dar, XHTML an den IE zu liefern, welche aber im Quirksmode endet und daher ebenfalls nicht praktikabel ist.

                    Gruß;

                    1. Moin.

                      PS: Ich möchte noch auf eine weitere (zugegebenermaßen wenig praxistaugliche) Möglichkeit verweisen: der Auslieferunfg von XHTML als aplication/xml.

                      Hm, eine W3 FAQ stellt eine andere Möglichkeit dar, XHTML an den IE zu liefern, welche aber im Quirksmode endet und daher ebenfalls nicht praktikabel ist.

                      Die im XHTML-FAQ beschriebene Lösung hat den Vorteil, dass sie im Gegensatz zu 'meiner' auch funktioniert. Allerdings mit folgendem Nachteil:

                      "Although you are serving the document as XML, and it gets parsed as XML, the browser thinks it has received text/html, and so your XHTML 1.0 document must follow many of the guidelines for serving to legacy browsers."

                      Bei meiner Variante ist man nicht an die Kompatibilität mit HTML gebunden (im verlinkten Beispiel stand nicht ohne Grund ein XHTML1.1-Doctype), da das Dokument als _reines XML_ interpreiert wird.

                      Das hat aber leider zur Folge, dass jegliche Funktionalität von XHTML (vordefinierte Styles, Hyperlinks, Formulare, Bilder,...) nachgerüstet werden muss.

                      Als ich das damals spaßeshalber ausprobiert habe, habe ich einfach die html.css von meinem FF eingebunden und die grundlegende Funktionalität von Hyperlinks (nebst hover-Effekt für selbige) mit einer 10-zeiligen Behavior wiederhergestellt.

                      Das ganze war nur eine Spielerei, die als Antwort auf die Aussage entstand, der IE könne kein XHTML. Da er aber einen XML-Parser, eine CSS-Engine und Erweiterungsmöglichkeiten durch Behaviors bietet, war mein Gedanke, dass es möglich sein müsste, ihn dahingehend nachzurüsten.

                      Und das scheint meinem privaten 'Experiment' zufolge in der Tat (mit gewissen Einschränkungen) möglich zu sein - nur hat sich offenbar bisher niemand diese Arbeit gemacht...

                      Christoph

                      1. Hallo,

                        Und das scheint meinem privaten 'Experiment' zufolge in der Tat (mit gewissen Einschränkungen) möglich zu sein - nur hat sich offenbar bisher niemand diese Arbeit gemacht...

                        Weil jeder mit Tabellenlayouts arbeitet :D

                        Und langsam soll es sein, oder habe ich da falsch gelesen?

                        Allerdings frage ich mich, wie die Entwickler XHTML in den Internet Explorer integrieren wollen. Anscheinend arbeitet man da mit einem neuen Parser. Hmmmm.

                        Gruß;

                        1. Moin.

                          Und langsam soll es sein, oder habe ich da falsch gelesen?

                          Ist es, sofern man den Doctype mit angibt. Dann muss die DTD zunächst heruntergeladen werden, eingelesen und das Dokument validiert werden - das dauert natürlich länger, als ein (vermutlich) hardcodiertes Parsen von HTML.

                          Die Alternative wäre, auf die Angabe einer DTD zu verzichten - gleiches Anzeigergebnis, aber man verliert die Client-seitige Validierung.

                          Christoph

                          1. Hallo,

                            Die Alternative wäre, auf die Angabe einer DTD zu verzichten - gleiches Anzeigergebnis, aber man verliert die Client-seitige Validierung.

                            Hm, soweit ich weis verzichten Mozilla usw. aber auch auf die DTD Validierung. Schließlich kennt z.B. der Mozilla die Maskierungen in XHTML auch nur durch Hackerei, soweit ich das mitbekommen habe.

                            Allerdings bin ich da nicht wirklich informiert...

                            Gruß;

                    2. Moin!

                      Oder die CDATA-Anweisung auskommentieren...

                      Auslagern ist die beste und unkomplizierteste Möglichkeit. Dagegen spricht gar nichts. CDATA auskommentieren ist dabei gar nicht so einfach.

                      Was ist daran denn so schwierig:

                      <tag>/* <![CDATA[ */  
                      CSS- (tag=style)  
                      oder  
                      JavaScript-Code (tag=script)  
                      /* ]]> */</tag>
                      

                      Was aber mit dem Problem der Auslieferung von XHTML-Dokumenten an den Empfänger 'gängiger Browser' nichts zu tun hat.

                      Meines Erachtens schon. Mozilla schaut bereits nach ob XHTML als Version 1.0 oder 1.1 geliefert wird. Ich halte das sehr schädlich für XML.

                      Was ist denn daran schädlich für XML?

                      Viele Grüße,
                      Robert

                3. Hallo,

                  * Die Zeichenkodierung: Es ist nur utf-8 bzw. utf-16 möglich, da sonst eine XML-Deklaration nötig wäre, was für IE6 schlecht ist.

                  UTF-8 wäre ja gar nicht so schlecht. Welche XML-Deklaration ist aber warum "für IE6 schlecht"?

                  Grüsse

                  Cyx23

                  1. Hallo,

                    UTF-8 wäre ja gar nicht so schlecht. Welche XML-Deklaration ist aber warum "für IE6 schlecht"?

                    Verstehe dich nicht ganz. Wird als Kodierung weder utf-8 noch utf-16 verwendet muss eine XML-Deklaration verwendet werden, z.B.:

                    <?xml version="1.0" encoding="iso-8859-1" ?>

                    Das ist auf Grund der XML-Regeln so.

                    Weil der Internet Explorer 6 damit aber in den Quirksmode versetzt wird muss man diese Weglassen, wodurch utf-8 bzw. utf-16 zur Pflichtkodierung werden.

                    Verstanden?

                    Gruß;

                    1. Hallo,

                      Weil der Internet Explorer 6 damit aber in den Quirksmode versetzt wird muss man diese Weglassen, wodurch utf-8 bzw. utf-16 zur Pflichtkodierung werden.

                      • utf-8 scheint mir per se kein so großer Nachteil zu sein, als dass sich ein
                          besonders gewichtiges Argument für oder gegen XHTML ableiten liesse, auch
                          wenn die Festlegung darauf grundsätzlich weniger Flexibiltät bedeuten mag.

                      • Der IE 6 ist so eigen, dass ein bestimmter Rendermodus bei vielen Projekten
                          gar keinen unterschiedlichen Arbeitsaufwand macht oder gleich irgendwelche
                          "Browser-Weichen" einspart. Vorteilhaft könnte es aber auch sein, ihn wie
                          den 5.x zu bedienen (solange die noch mit einigen Prozent unterwegs sind).

                      Grüsse

                      Cyx23

                    2. Hi,

                      Weil der Internet Explorer 6 damit aber in den Quirksmode versetzt wird muss man diese Weglassen, wodurch utf-8 bzw. utf-16 zur Pflichtkodierung werden.

                      nicht, wenn ein HTTP-Header die Kodierung vorgibt.

                      freundliche Grüße
                      Ingo

                      1. Hallo,

                        Weil der Internet Explorer 6 damit aber in den Quirksmode versetzt wird muss man diese Weglassen, wodurch utf-8 bzw. utf-16 zur Pflichtkodierung werden.
                        nicht, wenn ein HTTP-Header die Kodierung vorgibt.

                        Wie bereits angesprochen wurde das eben *kein* Grund, die XML-Deklaration wegzulassen!

                        Gruß;

                      2. Hello,

                        Weil der Internet Explorer 6 damit aber in den Quirksmode versetzt wird muss man diese Weglassen, wodurch utf-8 bzw. utf-16 zur Pflichtkodierung werden.

                        nicht, wenn ein HTTP-Header die Kodierung vorgibt.

                        Womit die lokale Kopie der Datei auf der Festplatte damit unbrauchbar wird, wenn der Browser nicht schlau genug ist, die Codierung aus dem Header noch in die Datei einzustanzen als Metaangabe oder ähnliches. Da sind wir dann aber schon wieder beim nächsten Problem. Man könnte dann "Kopien" nur noch mit einem Code manipulierenden Programm machen. Damit wäören es aber keine Kopien mehr...

                        Harzliche Grüße vom Berg
                        http://bergpost.annerschbarrich.de

                        Tom

                        --
                        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                        Nur selber lernen macht schlau
                        Ein Jammer ist auch, dass die Dummen so selbstsicher und die Klugen voller Zweifel sind. Das sollte uns häufiger zweifeln lassen :-)

                4. Hello out there!

                  Davon sprach ich gar nicht, sondern von der "magischen" Eigenschaft des body-Elements, Hintergrundfarbe, -bild und overflow auf das html-Element zu üebrtragen.

                  Achso, das meinst du. Was hindert einen Stylesheetautor daran, Angaben für den Viewport nicht für den Selektor 'body', sondern für 'html' zu machen? Das funktioniert in Tagsoup-Parsern als 'text/html' genauso wie bei XML-Verarbeitung als 'application/xhtml+xml' gleichermaßen. Kein Mehraufwand.

                  CDATA-Bereiche werden von Tagsoup-Parsern nicht verstanden.

                  ?? Müssen doch gar nicht. Für Tagsoup-Parser sind Inhalte von 'script'- und 'style'-Elementen doch vom Typ CDATA, wie es HTML 4 spezifiziert ist.

                  (Ebendeshalb müssen ja (einige!) Scripte in XHTML als CDATA gekennzeichnet werden, damit sie als 'text/html' wie als 'application/xhtml+xml' gleichermaßen verarbeitet werden. Das betrifft eigentlich nur wenige, z.B. solche, in denen NCRs oder Entity-Referenzen vorkommen. [CDATA-PCDATA])

                  * Die Zeichenkodierung: Es ist nur utf-8 bzw. utf-16 möglich, […]

                  Was ist daran nachteilig? Es spricht eigentlich nichts dafür, eine andere Codierung als UTF-8 einzusetzen (bei Alphabeten, deren Buchstaben UTF-8-codiert 3 oder 4 Oktetts benötigen, evtl. UTF-16).

                  […] da sonst eine XML-Deklaration nötig wäre, was für IE6 schlecht ist. Du hast darauf mal geantwortet, dem sei nicht so, weil es ja den HTTP-Header gibt. Doch Schneegans ist hier auf meiner Seite!

                  Ich sage nur, dass „MUSS eine XML-Deklaration haben“ bei Vorhandensein externer Information falsch ist; nicht, dass es good practice wäre, bei anderer Codierung auf die XML-Deklaration zu verzichten.

                  Best practice jedoch: UTF-8, keine XML-Deklaration, keine Probleme.

                  * XML-Features dürfen nicht genutzt werden: Beispielsweise CDATA-Bereiche, […]

                  Wofür willst du die brauchen?

                  […] Processing Instructions.

                  Das ist mir auch ein Dorn im Auge, Stylesheets nicht mit PIs einbinden zu können, sondern auf das 'link'-Element zurückgreifen zu müssen, dessen Semantik ich anders sehe.

                  * Sprachangaben müssen mit dem xml:lang- und dem lang-Attribut angegeben werden und darüberhinaus natürlich identisch sein.

                  In der Tat lästig.

                  Abhilfe könnte geschaffen werden, indem man im XHTML-Quelltext nur 'xml:lang' schreibt und diesen als 'application/xhtml+xml' an verständnisvolle Clients ausliefert; für andere Clients diese Quelle mit XSLT transformiert in HTML oder kompatibles XHTML ('text/html'). Die Transformation kann dann auch PIs in 'link'-Elemente umsetzen.

                  * Wie gesagt, Stylesheets und Skripte auslagern, denn nur weil bestimmte Zeichen in der Regel nicht vorkommen, bedeutet es nicht, dass sie das nicht tun.

                  ?? Verstehe hier nicht ganz, worauf du hinauswillst.

                  * Leere Elemente müssen selbstschließend geschrieben werden und nicht mit der äquivalenten Schreibweise <element></element>

                  Das tut hier nichts zur Sache. Du sprachst von Mehraufwand des Schreibens von XHTML gegenüber dem Schreiben von HTML; dafür ist das kein Argument.

                  * nicht-leere Elemente ohne Inhalt dürfen nicht selbstschließend geschrieben werden, also kein <element/>

                  Das tut hier nichts zur Sache. Du sprachst von Mehraufwand des Schreibens von XHTML gegenüber dem Schreiben von HTML; dafür ist das kein Argument.

                  * Außer für <, >, & und " dürfen keine benannten Entitäten verwendet werden sondern nur dezimale oder hexadezimale.

                  Dieses Märchen hattest du schon in [</archiv/2007/11/t162468/#m1057290>] erzählt. Spätestens seit meiner Antwort [</archiv/2007/11/t162468/#m1060568>] sollte klar sein, dass dies falsch ist.

                  * Vergleicht man die DTDs von HTML und XHTML so ergeben sich Differenzen: In der Strict Variante darf in HTML das form-Element ein name-Attribut besitzen, in XHTML nicht.

                  Wofür sollte man das brauchen?

                  In allen HTML-Varianten ist das ismap-Attribut für das input-Element erlaubt, aber in keiner XHTML-Variante.

                  Wofür sollte man das brauchen?

                  * Das Dokument darf nur in XML 1.0 erlaubte Zeichen enthalten. Z.B. kein U+000C, wie in HTML.

                  Wozu willst du das Zeichen brauchen? Außerdem tut das hier nichts zur Sache. Du sprachst von Mehraufwand des Schreibens von XHTML gegenüber dem Schreiben von HTML; dafür ist das kein Argument.

                  * Das von dir bereits genannte tbody-Element wird in HTML automatisch eingefügt, in XHTML ist es gänzlich optional.

                  Damit ein XHTML-Dokument als Tagsoup denselben Elementbaum erzeugt wie bei Verarbeitung als XML muss also 'tbody' explizit vorhanden sein. Geringer Mehraufwand.

                  Aber nur nötig, wenn über JavaScript/DOM auf Tabellen zugegriffen wird oder im Stylesheet Selektoren stehen, die 'tbody' enthalten, was sich aber stets vermeiden lässt.

                  * JavaScript/DOM: document.writeln darf nicht verwendet werden.

                  Kein wirklicher Verlust.

                  Ebenso Level-1-Methoden des DOM wie createElement. Hier müssen die Namensraumfähigen Varianten dieser Methoden verwendet werden.

                  Nein, sie können nicht so ohne weiteres verwendet werden, wenn’s HTML-kompatibel sein soll.

                  Mit geringem Mehraufwand kann man einem Tagsoup-Parser – auch dem IE – aber diese Methoden beibringen:

                  if (!document.createElementNS)  
                  {  
                    document.createElementNS = function (namespace, element)  
                    {  
                      return document.createElement(element);  
                    };  
                  }
                  

                  Wo steht eigentlich geschrieben, dass bei XML-Verarbeitung createElement() nicht verwendet werden darf?

                  * Außerdem kann z.B. das isindex-Element in XHTML nicht verwendet werden.

                  Noch so ’ne Kamelle! Auch dieses Märchen hattest du schon in [</archiv/2007/11/t162468/#m1057290>] erzählt. Spätestens seit meiner Antwort [</archiv/2007/11/t162468/#m1060568>] sollte klar sein, dass auch dies falsch ist.

                  * Zudem habe ich schon meine Bedenken geäußert, wie ein XML-Parser mit XHTML umgehen kann. XHTML 1.0 und 1.1 befinden sich im selben Namensraum, den auch XHTML 2.0 (nach aktuellem Stand, nicht dem Working Draft Stand) ebenfalls diesen Namensraum verwenden. Alle drei sind aber zueinander inkompatibel. In 1.1 ist es nur das usemap-Attribut. In 2.0 sind es Formulare, Absätze, Überschriften, nahezu alles. Sag mir: Wie soll ein XML-parser hier zurechkommen?

                  Namensräume haben damit gar nichts zu tun. Die beinhalten lediglich Elemente (Attribute). Ob und wie alle diese in einem Namensraum vorhandenen Elemente auch tatsächlich in einer diesen Namensraum verwendenden Sprache vorkommen dürfen, regelt die DTD (bzw. XML Schema). Bedenke, dass auch XHTML 1.0 Strict, XHTML 1.0 Transitional und XHTML 1.0 Frameset denselben Namenraum verwenden, aber unterschiedliche DTDs, also unterschiedliche Regeln haben.

                  See ya up the road,
                  Gunnar

                  --
                  „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                  1. Hallo,

                    Achso, das meinst du. Was hindert einen Stylesheetautor daran, Angaben für den Viewport nicht für den Selektor 'body', sondern für 'html' zu machen? Das funktioniert in Tagsoup-Parsern als 'text/html' genauso wie bei XML-Verarbeitung als 'application/xhtml+xml' gleichermaßen. Kein Mehraufwand.

                    Das ist schon richtig, dennoch machen es viele Autoren nicht. genauso wie alle anderen wichtigen Punkte, dei bei XHTML beachtet werden müssen (z.B. Wohlgeformtheit).

                    ?? Müssen doch gar nicht. Für Tagsoup-Parser sind Inhalte von 'script'- und 'style'-Elementen doch vom Typ CDATA, wie es HTML 4 spezifiziert ist.

                    (Ebendeshalb müssen ja (einige!) Scripte in XHTML als CDATA gekennzeichnet werden, damit sie als 'text/html' wie als 'application/xhtml+xml' gleichermaßen verarbeitet werden.

                    Gerade das ist ja das Problem. In XHTML ist <[CDATA[ nötig, in HTML verursacht es Fehler. Natürlich kann man es auskommentieren, macht aber niemand. Also rate ich von vornherein zur Aulagerung.

                    Was ist daran nachteilig? Es spricht eigentlich nichts dafür, eine andere Codierung als UTF-8 einzusetzen (bei Alphabeten, deren Buchstaben UTF-8-codiert 3 oder 4 Oktetts benötigen, evtl. UTF-16).

                    Ich sage nicht, dass es nachteilig ist. Ich sage es sei nachteilig, wenn man es nicht einsetzt (wans genug angeblche XHTML-Seiten machen).

                    Best practice jedoch: UTF-8, keine XML-Deklaration, keine Probleme.

                    Da sind wir uns einig.

                    * XML-Features dürfen nicht genutzt werden: Beispielsweise CDATA-Bereiche, […]

                    Wofür willst du die brauchen?

                    Die Frage hast du dir weiter oben selbst beantwortet.

                    Abhilfe könnte geschaffen werden, indem man im XHTML-Quelltext nur 'xml:lang' schreibt und diesen als 'application/xhtml+xml' an verständnisvolle Clients ausliefert; für andere Clients diese Quelle mit XSLT transformiert in HTML oder kompatibles XHTML ('text/html'). Die Transformation kann dann auch PIs in 'link'-Elemente umsetzen.

                    Diese Methode hab ich bereits vorgeschlagen, wurde aber von dir nicht ernst genommen.

                    Nebenbei zeigt Schneegans' Schema Validator den Hinweis an, man solle doch das lang-Attribut auch einfügen.

                    ?? Verstehe hier nicht ganz, worauf du hinauswillst.

                    Woher willst du wissen, dass im Stylesheet oder im JavaScript keine < oder & vorkommen? Autoren sind diesbezüglich nicht vertrauenswürdig.

                    Das tut hier nichts zur Sache. Du sprachst von Mehraufwand des Schreibens von XHTML gegenüber dem Schreiben von HTML; dafür ist das kein Argument.

                    Es ist ein Punkt der wegen Browserkompatibilität beachtet werden muss, daher hab ich ihn genannt.

                    Das tut hier nichts zur Sache. Du sprachst von Mehraufwand des Schreibens von XHTML gegenüber dem Schreiben von HTML; dafür ist das kein Argument.

                    Wo doch die XML-Schreibweise weniger Zeichen verbraucht ;)

                    Dieses Märchen hattest du schon in [</archiv/2007/11/t162468/#m1057290>] erzählt. Spätestens seit meiner Antwort [</archiv/2007/11/t162468/#m1060568>] sollte klar sein, dass dies falsch ist.

                    Nein ist es nicht. Schneegans sag hierzu:

                    Vermeiden sollte man [...] den ganzen Rest wie &auml; oder &nbsp;, denn diese sind in der DTD deklariert.

                    Danach weist er noch darauf hin, dass man die Referenzen im Mozilla nur ausnahmsweise verwenden kann, obwohl kein validierender Parser vorhanden ist. Ansonnsten führt &amp; in einem nicht validierendem Parser zu Fehlern.

                    Entschuldige, dass ich diese Antwort nicht mehr gelesen habe, ich war die Woche darauf nicht zu Hause und habe später nicht mehr daran gedacht.

                    Wofür sollte man das brauchen?
                    Wofür sollte man das brauchen?

                    Ich brauche beides nicht, aber wenn ich suche finde ich bestimmt eine Webseite die beide trotz XHTML-Quelltext verwendet.

                    Wozu willst du das Zeichen brauchen? Außerdem tut das hier nichts zur Sache. Du sprachst von Mehraufwand des Schreibens von XHTML gegenüber dem Schreiben von HTML; dafür ist das kein Argument.

                    Nun, das Zeichen ist nur ein Beispiel, das ich aus Anhang C geklaut habe. Ich spreche allgemein von den Unterschieden zwischen HTML und XHTML als text/html.

                    Damit ein XHTML-Dokument als Tagsoup denselben Elementbaum erzeugt wie bei Verarbeitung als XML muss also 'tbody' explizit vorhanden sein. Geringer Mehraufwand.

                    Dennoch wichtig.

                    Aber nur nötig, wenn über JavaScript/DOM auf Tabellen zugegriffen wird oder im Stylesheet Selektoren stehen, die 'tbody' enthalten, was sich aber stets vermeiden lässt.

                    table > tr geht auch nicht.

                    Ebenso Level-1-Methoden des DOM wie createElement. Hier müssen die Namensraumfähigen Varianten dieser Methoden verwendet werden.

                    Nein, sie können nicht so ohne weiteres verwendet werden, wenn’s HTML-kompatibel sein soll.

                    Nun, im Gegensatz zu createElement in XHTML verhält sich createElementNS in HTML in den Browsern überall gleich.

                    Wo steht eigentlich geschrieben, dass bei XML-Verarbeitung createElement() nicht verwendet werden darf?

                    DOM-2-Core, 1.1.8 XML Namespaces. Daraus folgere ich, dass createElement in XHTML nichts zu suchen hat. Mozilla scheint mir hier zuzustimmen.

                    Noch so ’ne Kamelle! Auch dieses Märchen hattest du schon in [</archiv/2007/11/t162468/#m1057290>] erzählt. Spätestens seit meiner Antwort [</archiv/2007/11/t162468/#m1060568>] sollte klar sein, dass auch dies falsch ist.

                    Im Gegensatz zur verarbeitung als HTML wird das dadurch erzeugte Element in XHTML-Dokumenten nicht angezeigt (bzw. verhalten sich die Browser hier sehr unterschiedlich).

                    Namensräume haben damit gar nichts zu tun. Die beinhalten lediglich Elemente (Attribute). Ob und wie alle diese in einem Namensraum vorhandenen Elemente auch tatsächlich in einer diesen Namensraum verwendenden Sprache vorkommen dürfen, regelt die DTD (bzw. XML Schema). Bedenke, dass auch XHTML 1.0 Strict, XHTML 1.0 Transitional und XHTML 1.0 Frameset denselben Namenraum verwenden, aber unterschiedliche DTDs, also unterschiedliche Regeln haben.

                    Da muss ich dir zustimmen, da habe ich nicht ganz so weit gedacht.

                    Gruß;

                    1. Hello out there!

                      Das ist schon richtig, dennoch machen es viele Autoren nicht. genauso wie alle anderen wichtigen Punkte, dei bei XHTML beachtet werden müssen (z.B. Wohlgeformtheit).

                      Für Autoren, die keinen Wert auf validen, ja nicht einmal wohlgeformten Quelltext Wert legen, ist XHTML sicher nicht das richtige. Die sollen Tagsoup schreiben (ich sagte bewusst nicht „HTML 4“) oder besser noch die Finger von Quelltext lassen und einen wysiwYg-Editor nutzen.

                      Autoren, die jedoch sauberen Quelltext möchten, bietet XHTML 1.0 gegenüber HTML 4.01 Vorteile: eben die sauberere XML-Syntax gegenüber SGML. Solche Autoren sollten dann auch in der Lage sein, den Viewport mittels 'html' zu selektieren – falls überhaupt gewünscht ist, dass das XHTML-Dokument jemals als 'application/xhtml+xml' von einem Browser verarbeitet wird.

                      Die Vorteile von XHTML sehe ich – wie schon oft gesagt – nicht beim Browser, sondern bspw. bei der XML-Verarbeitung durch einen Validator.

                      Wirkliche Nachteile sehe ich nur einen: die Dopplung von 'xml:lang' und 'lang'. Dieselben Daten doppelt anzulegen, ist für einen Informatiker ein Albtraum. (Sollte es jedenfalls sein.)

                      Gerade das ist ja das Problem. In XHTML ist <[CDATA[ nötig, in HTML verursacht es Fehler. Natürlich kann man es auskommentieren, macht aber niemand.

                      Natürlich macht man das. Und natürlich nicht so bescheuert, wie es Hickson propagiert. [</archiv/2007/11/t162468/#m1058660>]

                      Also rate ich von vornherein zur Aulagerung.

                      Ich auch – aber aus anderen Gründen: der Trennung von Inhaltsstruktur, Präsentation und Verhalten [molily] – das auch bei HTML 4.01 (wenn ich sowas denn schreiben würde).

                      Abhilfe könnte geschaffen werden, indem man im XHTML-Quelltext nur 'xml:lang' schreibt und diesen als 'application/xhtml+xml' an verständnisvolle Clients ausliefert; für andere Clients diese Quelle mit XSLT transformiert in HTML oder kompatibles XHTML ('text/html'). Die Transformation kann dann auch PIs in 'link'-Elemente umsetzen.

                      Diese Methode hab ich bereits vorgeschlagen, wurde aber von dir nicht ernst genommen.

                      Ich hatte dich so verstanden, du wolltest die Seiten in irgendwelchem XML pflegen und für alle Clients nach HTML transformieren. Ich meine, die Seiten in XHTML zu pflegen und  dieses auch genauso auszuliefern, aber für unfähige Browser nach HTML zu transformieren.

                      Ist aber noch nicht ganz durchdacht, was für Vorteile hätte das gegenüber HTML-kompatiblem XHTML als 'text/html' für alle?

                      Woher willst du wissen, dass im Stylesheet oder im JavaScript keine < oder & vorkommen? Autoren sind diesbezüglich nicht vertrauenswürdig.

                      '<' und '&' können in JavaScript natürlich durchaus vorkommen. Am besten doch alle Scripte in XHTML als CDATA markieren.

                      Cybaer würde raten, Scripte so zu schreiben, dass sie weder '<' noch '&' enthalten, aber der tut ja einige komische Dinge. >;->

                      Stylesheets – naja. Im Wert der 'content'-Eigenschaft könnten solche vorkommen, sonst wüsste ich nicht wo. Da hilft auch kontextspezifische Codierung. Der Kontext ist nicht HTML, sondern CSS; also nicht '&lt;' und '&amp;', sondern '\3C ' und '\26 '.

                      Aber wir raten ja sowieso zur Trennung von Inhaltsstruktur, Präsentation und Verhalten.

                      Es ist ein Punkt der wegen Browserkompatibilität beachtet werden muss, daher hab ich ihn genannt.

                      Kannst du gerne tun, aber bitte nicht als falsches Argument zu einer Sache, wo der Punkt keinerlei Relvanz hat.

                      Nein ist es nicht. Schneegans sag hierzu:
                      „Vermeiden sollte man [...] den ganzen Rest wie &auml; oder &nbsp;, denn diese sind in der DTD deklariert.“

                      Wer einen XHTML-Client baut, der die in XHTML definierten Entities nicht kennt, der produziert Schrott. Dann schon lieber so ehrlich sein wie Microsoft und sagen: Wir unterstützen 'application/xhtml+xml' nicht.

                      Ein XHTML-Client MUSS '&auml;' und '&nbsp;' kennen, sonst ist er keiner.

                      table > tr geht auch nicht.

                      Na und? Der Selektor sollte wozu nütze sein?

                      Wo steht eigentlich geschrieben, dass bei XML-Verarbeitung createElement() nicht verwendet werden darf?

                      DOM-2-Core, 1.1.8 XML Namespaces.

                      Dort lese ich: „Note: DOM Level 1 methods are namespace ignorant. Therefore, while it is safe to use these methods when not dealing with namespaces […]“

                      „Safe“ klingt für mich anders als „darf nicht verwendet werden“. Wo steht, dass DOM Level 1 nicht mit XHTML als 'application/xhtml+xml' verwendet werden darf?

                      Im Gegensatz zur verarbeitung als HTML wird das dadurch erzeugte Element in XHTML-Dokumenten nicht angezeigt (bzw. verhalten sich die Browser hier sehr unterschiedlich).

                      Dann sag bitte statt „kann in XHTML nicht verwendet werden“ besser „ist in einigen Browsern falsch implementiert“, sonst klingt das wie „gibt es in XHTML nicht“, besonders wenn du das in einem Atemzug mit anderen Dingen nennst, die es angeblich in XHTML nicht gäbe.

                      See ya up the road,
                      Gunnar

                      --
                      „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                5. Hallo,

                  * Vergleicht man die DTDs von HTML und XHTML so ergeben sich Differenzen: In der Strict Variante darf in HTML das form-Element ein name-Attribut besitzen, in XHTML nicht.

                  Das ist falsch! <form name="formularname"> ist valides XHTML 1.0. Für den Zugriff über document.forms.formularname sollte man allerdings noch ein gleichnamiges id-Attribut hinzufügen, siehe DOM 2 HTML.

                  * JavaScript/DOM: [...] Ebenso Level-1-Methoden des DOM wie createElement.

                  Das ist einfach falsch!
                  Erzähle doch nicht immer dieselben Märchen. Es ist echt dreist von dir, Widerspruch einfach zu ignorieren.

                  http://www.w3.org/TR/DOM-Level-2-Core/core.html#Namespaces-Considerations
                  In der Tat wird hier gesagt, dass createElement ein Element ohne Namespace erzeugt. Das macht aber kein Browser so, sondern sie nehmen einen Default-Namespace (nämlich den von XHTML) an. Ich weiß nicht, ob das irgendwo anders vorgeschrieben ist oder ob das quasi Fehlertoleranz ist, jedenfalls stimmt deine Behauptung nicht. JavaScripte, die sich um Namespaces keine Gedanken machen, funktionieren wunderbar bei application/xhtml+xml.

                  Mathias

                  1. Hello out there!

                    In der Strict Variante darf in HTML das form-Element ein name-Attribut besitzen, in XHTML nicht.

                    Das ist falsch! <form name="formularname"> ist valides XHTML 1.0.

                    Von "required attribute 'action' not specified" mal ganz abgesehen: "there is no attribute 'name'". [http://validator.w3.org]

                    In der DTD XHTML 1.0 Strict [http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd] wurde das 'name'-Attribut offenbar vergessen:

                    <!ATTLIST form
                      %attrs;
                      action      %URI;          #REQUIRED
                      method      (get|post)     "get"
                      enctype     %ContentType;  "application/x-www-form-urlencoded"
                      onsubmit    %Script;       #IMPLIED
                      onreset     %Script;       #IMPLIED
                      accept      %ContentTypes; #IMPLIED
                      accept-charset %Charsets;  #IMPLIED
                      >

                    Auch [http://schneegans.de/sv] sagt "The 'name' attribute is not declared."

                    Lediglich [http://www.validome.org] meldet keinen Fehler, warum auch immer.

                    See ya up the road,
                    Gunnar

                    --
                    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                    1. Lediglich [http://www.validome.org] meldet keinen Fehler, warum auch immer.

                      Oops, tut er doch: „Im Tag form ist das Attribut name nicht erlaubt.“

                      (Hatte im Editor nicht auf „Speichern“ gedrückt und den falschen Quelltext zum Validator geschickt.)

                      Ingunnarid

                      --
                      „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
                  2. Hallo,

                    Das ist falsch!

                    Das Gegenteil wurde dir bereits gezeigt.

                    http://www.w3.org/TR/DOM-Level-2-Core/core.html#Namespaces-Considerations

                    In der Tat wird hier gesagt, dass createElement ein Element ohne Namespace erzeugt. Das macht aber kein Browser so, sondern sie nehmen einen Default-Namespace (nämlich den von XHTML) an.

                    Safari macht es so.
                    Und bei Mozilla gilt das als Fehler, auch wenn er im Vorausdenken zu HTML 5 nicht mehr behoben wird.

                    JavaScripte, die sich um Namespaces keine Gedanken machen, funktionieren wunderbar bei application/xhtml+xml.

                    Das habe ich auch nicht behauptet.

                    Gruß;

                    1. Hallo,

                      Das ist falsch!

                      Das Gegenteil wurde dir bereits gezeigt.

                      Gut, XHTML 1.0 Strict kennt kein name-Attribut bei form. Auf www-html-editor wurde das schon mehrfach als Fehler diskutiert - davon unabhängig ist dieser Unterschied nur in einem Fall praktisch relevant, nämlich wenn man in Netscape 4 in einem JavaScript mit document.forms.formularname auf ein Formular zugreifen will. Es geht also um vorsintflutliche Browser, die kein DOM 1 HTML verstehen.

                      http://www.w3.org/TR/DOM-Level-2-Core/core.html#Namespaces-Considerations

                      In der Tat wird hier gesagt, dass createElement ein Element ohne Namespace erzeugt. Das macht aber kein Browser so, sondern sie nehmen einen Default-Namespace (nämlich den von XHTML) an.

                      Safari macht es so.

                      Interessant, das wusste ich in der Tat nicht.
                      Die spannende Frage ist dann, was er macht: Einfach die Semantik der Elemente ignorieren, als wären sie Wörter einer unbekannten Sprache?
                      Unterstützt Safari denn das HTML-DOM im XHTML-Modus?

                      Und bei Mozilla gilt das als Fehler, auch wenn er im Vorausdenken zu HTML 5 nicht mehr behoben wird.

                      Ja, genau, man kann sich dort auch nicht einigen, ob der Fehler im Browser oder in der Spezifikation zu suchen ist - man tendiert eher zu letzterem, angesichts der fehlenden Weiterentwicklung des DOM, die man dann selbst in die Hand nimmt.
                      (Ich hatte mal, wenn ich mich recht entsinne, genau wegen der Passage der DOM-Spezifikation eine beknackte Bug-Diskussion zu PHP, wo die Regel »createElement erzeugt ein Element ohne Namespace« auch nur unerwünschte Resultate zeitigte.)

                      Mathias

                      1. Hallo,

                        Interessant, das wusste ich in der Tat nicht.
                        Die spannende Frage ist dann, was er macht: Einfach die Semantik der Elemente ignorieren, als wären sie Wörter einer unbekannten Sprache?
                        Unterstützt Safari denn das HTML-DOM im XHTML-Modus?

                        Ich habe ein Dokument als application/xhtml+xml versendet getestet: createElement scheint ein Element zu erzeugen, jedoch wird dieses wie ein unbekanntes Behandelt.

                        Beispielsweise ein p-Element (mit Inhalt also z.B. <p>Test</p>) wird wie ein Inlineelement behandelt (mehrfach angewendet: TestTestTest). Ein erzeugtes input-Element wird gar nicht erst angezeigt, auch nicht mit type-Attribut.

                        Konnte hier allerdings nur Safari 3 für Windows testen.

                        Gruß;

                6. Hallo,

                  allgemein scheinst du mir nicht an einem fairen Vergleich interessiert zu sein; auf die Frage nach dem »Mehraufwand« kommst du mit obskuren, praktisch irrelevanten Dingen oder führst die zusätzlichen Einschränkungen im Vergleich zu den Möglichkeiten von XML an. Das sind halt die Regeln von HTML-kompatibler XHTML-Syntax, aber kein »Mehraufwand«, solch ein Vergleich ist Unsinn.

                  Während ich viele deiner Beiträge zu XHTML geschätzt habe, verbreitest du nunmehr eher Desinformation und saugst dir »Argumente« aus den Fingern. Gegen deinen ehernen Glauben, dass XHTML des Teufels ist, kann man offenbar nicht argumentieren.

                  Wenn du mich kennst, weißt du, dass ich der letzte bin, der hier unreflektiert den XHTML-Einsatz predigt. Trotzdem zwängst du einen immer wieder in die Situation, deine Behauptungen klarstellen oder relativieren zu müssen, weil sie irreführen oder schlicht unwahr sind. Natürlich gibt es einen »Mehraufwand« und dieser ist zu bestimmen im Vergleich zum Nutzen. Aber so kommen wir kein Schritt weiter, obwohl das schon der x-te Thread zum Thema ist.

                  Mathias

                  1. Hallo,

                    allgemein scheinst du mir nicht an einem fairen Vergleich interessiert zu sein;

                    Es scheint leider tatsächlich so. Dabei setze ich XHTML selbst ein, nur nicht im Web.

                    auf die Frage nach dem »Mehraufwand« kommst du mit obskuren, praktisch irrelevanten Dingen oder führst die zusätzlichen Einschränkungen im Vergleich zu den Möglichkeiten von XML an. Das sind halt die Regeln von HTML-kompatibler XHTML-Syntax, aber kein »Mehraufwand«, solch ein Vergleich ist Unsinn.

                    So war es eigentlich auch gedacht. Ich wollte die Punkte nennen, die in XHTML anders sind als in HTML und daher in XHTML als HTML nicht vokrommen sollten.

                    Während ich viele deiner Beiträge zu XHTML geschätzt habe, verbreitest du nunmehr eher Desinformation und saugst dir »Argumente« aus den Fingern.

                    Nichts wäre für mich schlimmer als die Verbreitung von falschen Informationen. Gerade deshalb habe ich diese Punkte zusammengesucht. Damit wollte ich nur Autoren wachrütteln und anmerken, dass XHTML als HTML nicht so einfach ist wie es scheint.

                    Gegen deinen ehernen Glauben, dass XHTML des Teufels ist, kann man offenbar nicht argumentieren.

                    Eben dass glaube ich *nicht*. XHTML ist ein wuderbaren Format, das ich durchaus zu schätzen gelernt habe. Vielleicht steigere ich mich zu sehr hinein, das passt zu mir, doch habe ich im Laufe der Zeit diese Unterschiede kennenglernt.

                    Es mag tatsächlich nicht der große Mehraufwand sein, doch Kleinvieh macht mMn nach auch Mist.

                    Wenn du mich kennst, weißt du, dass ich der letzte bin, der hier unreflektiert den XHTML-Einsatz predigt. Trotzdem zwängst du einen immer wieder in die Situation, deine Behauptungen klarstellen oder relativieren zu müssen, weil sie irreführen oder schlicht unwahr sind. Natürlich gibt es einen »Mehraufwand« und dieser ist zu bestimmen im Vergleich zum Nutzen. Aber so kommen wir kein Schritt weiter, obwohl das schon der x-te Thread zum Thema ist.

                    Ja, ich weis.

                    Hm, danke dir. Ich denke dieser Absatz hat mich selbst etwas wachgerüttelt.

                    Ich wollte nie falsche Informationen verbreiten, das ist das schlimmste, was ich mir vorstellen kann. Ich habe alle meine Argumente nur genannt, weil ich überzeugt bin.. war, dass sie auf Grund meiner Recherchen richtig sind.

                    Meinen Quellen habe ich nie uneingeschränkt vertraut, sonder habe darafu geachtet, ob etwas logisch und nachvollzehbar ist. Aber da mir das auch bei manch einem Versicherungsvertreter passiert ist muss ich wohl Täuschung zugeben.

                    Schade, dass ich den Beitrag als letztes gelesen habe. Ich hätte mir viel Ärger ersparen können.

                    Gruß;

        2. Moin!

          Ja, leider. Aus diesem Grund kannst du keine der Zusatzfunktionalitäten nutzen, musst aber im Gegenzug noch ein Dutzend Unterschiede zu normalem HTML beachten. Das ist es meiner Meinung nach nicht Wert.

          Das stimmt doch überhaupt nicht. XHTML+MathML z.B. funktioniert auch im Internet Explorer der Firma, deren Name mit M beginnt. Man muss nur den Inhalt als XML versenden.

      2. Hallo,

        Ist XHTML schlechter, als HTML? Ich dachte, man könne da (in absehbarer Zeit zumnindest) Zusatzfunktionalitäten nutzbar machen?

        Keine Ahnung, welche Zusatzfunktionalitäten meinst du?

        Mathias

    2. Hello out there!

      XHTML im Web muss als text/html versendet werden

      Muss nicht. [</archiv/2007/10/t160280/#m1043007>]

      See ya up the road,
      Gunnar

      --
      „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
      1. Hallo,

        XHTML im Web muss als text/html versendet werden

        Muss nicht. [</archiv/2007/10/t160280/#m1043007>]

        Sag das mal der großen Firma deren Name mit M beginnt. Ich rede hier nicht von der Spezifikation sondern von der Realität.

        Gruß;

        1. Hello out there!

          XHTML im Web muss als text/html versendet werden

          Muss nicht. [</archiv/2007/10/t160280/#m1043007>]

          Sag das mal der großen Firma deren Name mit M beginnt. Ich rede hier nicht von der Spezifikation sondern von der Realität.

          Keine Ahnung, wovon du redest.

          Ich redete eben genau davon, XHTML für IEs (u.a. 'application/xhtml+xml'-unfähige Clients) als 'text/html' auszuliefern.

          Würdest du meine Postings bitte erst lesen, bevor du darauf antwortest? Das kann auch bedeuten, einem Link zu folgen.

          See ya up the road,
          Gunnar

          --
          „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
          1. Hallo,

            Keine Ahnung, wovon du redest.

            Entschuldige, ich habe mich ungenau ausgedrückt.

            Ich redete eben genau davon, XHTML für IEs (u.a. 'application/xhtml+xml'-unfähige Clients) als 'text/html' auszuliefern.

            Das ist natürlich möglich und bringt Angesichts der Tatsache, dass viele Webseiten ohnehin schon unter den Nachteilen von Content Negotiation leiden, keine Weiteren Nachteile. Allerdings muss man immernoch dafür sorgen, dass das Dokument von HTML- und XML-Parsern identisch verarbeitet werden kann.

            Hier setzt z.B. die Problematik Internet Explorer an: Er versteht kein Level-2-DOM, was aber für XHTML notwendig ist. XHTML ist eben ncht nur der Unterschied zwischen text/html und application/xhtml+xml.

            Gruß;

            1. Hallo,

              [IE] versteht kein Level-2-DOM, was aber für XHTML notwendig ist.

              Ist es nicht!

              Mathias

              1. Hallo,

                [IE] versteht kein Level-2-DOM, was aber für XHTML notwendig ist.

                Ist es nicht!

                Ist es doch. Firefox und Opera verhalten sich nicht regelkonform, falls du dadruch darauf geschlossen hast.

                Gruß;

  3. Ich hatte den Artikel ja gestern auch gelesen und in einem anderen Thread gesagt wie Horizont-Erweiternd ich ihn fand.

    Ich hader auch derzeit an dem Punkt, dass ich mich frage: XHML oder gleich XML.

    Ich hoffe ich kann aus diesem Thread hier noch einiges an Mehrwert ziehen.

    grüsse

    1. Ich empfehle auch XHTML und Schema-Validierung inklusive der Kommentare.

      "Die andere Sache ist, dass viele glauben, sie könnten irgendwann die Früchte ernten, die sie durch den Gebrauch von XHTML jetzt sähen. Die meisten Evangelisten versprechen ihnen nämlich das Blaue vom Himmel."
      (Kommentar von molily)#

      grüsse

    2. Hallo,

      Ich hader auch derzeit an dem Punkt, dass ich mich frage: XHML oder gleich XML.

      Die Frage ist widersinnig. XML ist nicht durch XHTML zu ersetzen. Es sind zwei Mittel für unterschiedliche Zwecke. XML ist eine Metasprache, XHTML ist eine Anwendung dieser Metasprache XML. Die Frage wäre höchstens, ob ein anderes XML-Derivat als Speicherformat (!) besser ist. Letztlich würde dem Browser aber doch (X)HTML ausgeliefert.

      Mathias