Zeromancer: Grundgerüst einer XHTML-Datei

Hallo,

ich habe Dank des Artikels von molily  meine Seiten mal durch den Validator unter http://validator.de.selfhtml.org/ geschickt. Der Validator beim W3C beanstandete bisher nix.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"  
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />  
<meta http-equiv="Content-Script-Type" content="text/javascript" />  
<meta http-equiv="Content-Style-Type" content="text/css" />

Die mir wesentliche Meldung ist

"Es wurde keine Zeichensatzkodierung gefunden. Aus diesem Grund wurde UTF-8 verwendet."

Unter http://jendryschik.de/wsdev/einfuehrung/xhtml/meta  findet man lediglich die Angabe:

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

Ist es vorgeschrieben, dass als Zeichensatz utf-8 genommen werden muss?

Die zweite Angabe "Im Dokument befindet sich in Zeile 31 und Spalte 52 ein ungültiges Zeichen.
Dieses Zeichen ist in der verwendeten Zeichensatzkodierung (utf-8) nicht erlaubt." werde ich im Laufe der Tage beseitigen. Ein öffnen und speichern in Phase 5 sollte reichen?!

Mit freundlichen Grüßen,
André

  1. hi,

    Unter http://jendryschik.de/wsdev/einfuehrung/xhtml/meta  findet man lediglich die Angabe:

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />

    Ist es vorgeschrieben, dass als Zeichensatz utf-8 genommen werden muss?

    Für XHTML-Dokumente?
    Nein, absolut nicht. Du kannst auch jede andere, aus "normalem" HTML bekannte Zeichenkodierung verwenden.

    Nur der Fallback, falls überhaupt keine Angabe dazu erfolgt (weder, Meta-Tag, Content-Type-Header im HTTP Response, ...) - der ist UTF-8.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga,

      Nein, absolut nicht. Du kannst auch jede andere, aus "normalem" HTML bekannte Zeichenkodierung verwenden.

      Nur der Fallback, falls überhaupt keine Angabe dazu erfolgt (weder, Meta-Tag, Content-Type-Header im HTTP Response, ...) - der ist UTF-8.

      was ist ein "Fallback"? ;-)

      Ich verstehe immer noch nicht, warum bei

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
      <meta http-equiv="Content-Script-Type" content="text/javascript" />
      <meta http-equiv="Content-Style-Type" content="text/css" />

        
      die Feststellung  
        
      
      > "Es wurde keine Zeichensatzkodierung gefunden. Aus diesem Grund wurde UTF-8 verwendet."  
        
      gesendet wird.  
        
      Mit freundlichen Grüßen,  
      André
      
      -- 
      [Es geht weiter!](http://www.nightwish.com/de/article/8)
      
      1. Hallo Zeromancer,

        Ich verstehe immer noch nicht, warum bei

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <meta http-equiv="Content-Script-Type" content="text/javascript" />
        <meta http-equiv="Content-Style-Type" content="text/css" />

        
        >   
        > die Feststellung  
        >   
        > > "Es wurde keine Zeichensatzkodierung gefunden. Aus diesem Grund wurde UTF-8 verwendet."  
        >   
        > gesendet wird.  
          
        hättest du molily's antwort gelesen, solltest du es jetzt aber verstehen.  
          
        Es fehlt die Angabe  
        <?xml version="1.0" encoding="utf-8"?>  
        Dann klappt's auch mit dem Validator.  
          
        gruss  
        OhneName
        
        1. Hallo OhneName,

          hättest du molily's antwort gelesen, solltest du es jetzt aber verstehen.

          da ist was dran.  Nur leider habe ich die Antwort erst nach dem Abschicken meiner zusätzlichen Frage gesehen. Insofern bitte ich untertänigst um Verzeihung.

          Mit freundlichen Grüßen,
          André

          1. Hallo OhneName,

            Hallo (auch, wenn ich nen Namen hab^^)

            [...]Nur leider habe ich die Antwort erst nach dem Abschicken meiner zusätzlichen Frage gesehen.[...]

            Hast du dann 20 Minuten gebraucht, oder was neues gefragt, obwohl du wusstest, dass es schon ne Antwort gab?

            Mit freundlichen Grüßen,

            Ebenfalls.

            André

            scherzkeks (schönen Montagnachmittag noch)

            PS: Du bist nich aus Allach, oder (die frz. Form von Andreas is ja hier nich grad sehr häufig...)?

            1. Hallo scherzkeks!

              PS: Du bist nich aus Allach, oder ([André], die frz. Form von Andreas is ja hier nich grad sehr häufig...)?

              Mach Dir mal Gedanken, was Andrieu bedeutet. Und nein, ist der Name nicht geläufig, aber im Telefonbuch von Toulouse? Und ich bin weder aus Toulouse noch aus Allach ;)

              Viele Grüße aus Frankfurt/Main,
              Patrick

              --

              _ - jenseits vom delirium - _
            2. Hallo scherzkeks,

              Hast du dann 20 Minuten gebraucht, oder was neues gefragt, obwohl du wusstest, dass es schon ne Antwort gab?

              nee, war vor dem Abschicken noch in der Küche, rauchen und 'nen Kaffee trinken.

              PS: Du bist nich aus Allach, oder (die frz. Form von Andreas is ja hier nich grad sehr häufig...)?

              Mmmh, wo liegt Allach?! Nee, meinereiner ist ein Zugereister in einer großen Stadt, die sich gerade für mehrere hundert Millionen Euro eine U-Bahn durch die Stadt buddeln lässt...

              Mit freundlichen Grüßen,
              André

        2. Hello out there!

          Es fehlt die Angabe
          <?xml version="1.0" encoding="utf-8"?>

          Nein, diese Angabe ist optional. Eine XML-Deklaration ist nur dann erforderlich, wenn eine andere XML-Version als 1.0 oder eine andere Codierung als UTF-8 oder UTF-16 verwendet wird. [XML §4.3.3]

          „hättest du molily's antwort gelesen, solltest du es jetzt aber verstehen.“ ;-)

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
          1. Danke Gunnar

            „hättest du molily's antwort gelesen, solltest du es jetzt aber verstehen.“ ;-)

            Jetzt wo du es sagst habe ich es mir noch einmal durchgelesen und da steht tatsächlich, dass man sie nur benötigt, wenn man eine andere Kodierung als utf-8 benötigt.

            Ich dachte eigentlich sie wäre eine Pflichtangabe in XML-Dateien, aber in dieser Form habe ich auch nichts dagegen.

            gruss
            OhneName

            1. Hello out there!

              Jetzt wo du es sagst habe ich es mir noch einmal durchgelesen und da steht tatsächlich, dass man sie nur benötigt, wenn man eine andere Kodierung als utf-8 benötigt.

              So kann man’s eigentlich auch nicht sagen. Das XML-verarbeitende Programm kann auch auf anderem Wege (z.B. HTTP-Header) über die Codierung informiert werden. Vergiss also, was ich gesagt habe, und nimm dies:

              Eine XML-Deklaration ist dann nicht erforderlich, wenn die XML-Version 1.0 und die Codierung UTF-8 oder UTF-16 verwendet wird.

              See ya up the road,
              Gunnar

              PS: Warum sollte man eine andere Codierung als UTF-8 „benötigen“?

              --
              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
  2. Hallo,

    In XHTML-Dokumenten sollte die Kodierung (wie in allen XML-Dokumenten) in einer XML-Deklaration angegeben werden. Wenn du z.B. ISO 8859-1 verwendest, dann <?xml version="1.0" encoding="ISO-8859-1" ?> am Anfang des Dokuments.

    Diese Angabe setzt ein XML-Parser um, eine Angabe in einem meta-Tag jedoch ignoriert ein korrekter XML-Parser. Daher die Validome-Fehlermeldung:

    "Es wurde keine Zeichensatzkodierung gefunden. Aus diesem Grund wurde UTF-8 verwendet."

    Wenn du also nicht die Standardkodierung UTF-8 verwendest, muss das Dokument eine XML-Deklaration mit einer entsprechenden Kodierungsangabe enthalten oder die Kodierung muss zumindest im Content-Type-Header der Webserver-Antwort drinstehen.

    Da XHTML-Dokumente meist sowieso als text/html ausgeliefert werden, kommt der XML-Parser der Browser nicht zum Einsatz und der Browser rät die Kodierung notfalls. In dem Fall verzichtet man auf eine XML-Deklaration lieber, da sie den IE 6 in den Quirks-Rendermodus wirft.

    Nichtsdestoweniger handelt es sich bei einem solchen XHTML-Dokument ohne ordnungsgemäße Kodierungsangabe nicht um ein gültiges XHTML-Dokument, ein XML-Parser könnte es niemals korrekt verarbeiten (darüber geht der besagte Artikel). Deshalb ist es ratsam, XHTML-Dokumente (wie im Grunde alle XML-Dokumente) direkt in UTF-8 zu schreiben.

    Unter http://jendryschik.de/wsdev/einfuehrung/xhtml/meta  findet man lediglich die Angabe:

    <meta http-equiv="content-type" content="text/html; charset=utf-8" />

    Sofern ein XHTML-Dokument UTF-8 verwendet, ist für XML-Parser auch keine Angabe zur Zeichenkodierung nötig.

    Ist es vorgeschrieben, dass als Zeichensatz utf-8 genommen werden muss?

    Ja, UTF-8 ist die Standard-Zeichenkodierung von XML-Dokumenten, sofern der Autor nichts gegenteiliges angibt. Ein XML-Parser geht erst einmal von UTF-8 aus.

    Die zweite Angabe "Im Dokument befindet sich in Zeile 31 und Spalte 52 ein ungültiges Zeichen.
    Dieses Zeichen ist in der verwendeten Zeichensatzkodierung (utf-8) nicht erlaubt." werde ich im Laufe der Tage beseitigen. Ein öffnen und speichern in Phase 5 sollte reichen?!

    Wenn du damit meinst, dass du auf UTF-8 umstellen willst: Ja, wenn du Phase 5 beim Speichern entsprechend anweist, UTF-8 zu verwenden.

    Mathias