Susanne07: wozu brauche ich die XML Angabe in einer XHTML Seite?

Hi Forum,

wozu dient die Angabe

<?xml version="1.0" encoding="iso-8859-1"?>, wenn ich meine Seite als

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html lang="en" xml:lang="en" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">

deklariere?. Soweit ich das aus den technischen Texten verstanden habe, ist die XML Angabe ja nicht zwingend notwendig.

Gruß, Susanne

  1. wozu dient die Angabe

    <?xml version="1.0" encoding="iso-8859-1"?>, wenn ich meine Seite als

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html lang="en" xml:lang="en" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">

    deklariere?. Soweit ich das aus den technischen Texten verstanden habe, ist die XML Angabe ja nicht zwingend notwendig.

    Nein, das ist eigentlich nicht notwendig. Es macht es manchen Browsern wohl sogar schwerer, zwischen Standard- und Quirksmode zu unterscheiden.

    Der Nutzen, den die angabe jedoch hat, ist, dass gleich zu Beginn der Datei die Kodierung angegeben wird (und man eigentlich sogar auf die meta-Angabe zum Charset verzichten könnte). Das macht es einigen Parsern (z.B. libxml) leichter, den Inhalt korrekt einzulesen.

    Liebe Grüße
    Frederik

    1. Hi   Frederik,

      danke für deine Erklärung

      Gruß, Susanne

  2. Hello out there!

    wozu dient die Angabe
    <?xml version="1.0" encoding="iso-8859-1"?>

    Zur Angabe der Zeichencodierung.

    Soweit ich das aus den technischen Texten verstanden habe, ist die XML Angabe ja nicht zwingend notwendig.

    „Da jedes XML-Entity, das nicht durch externe Kodierungsinformationen begleitet wird und nicht in der UTF-8- oder UTF-16-Kodierung vorliegt, mit einer XML-Kodierungsdeklaration beginnen muss […]“ [XML §F.1]

    Bei ISO-8859-1-codierten XML-Dokumenten muss eine XML-Deklaration vorhanden sein, wenn die Codierung nicht extern (HTTP-Header) angegeben wird.

    Die Angabe der Zeichencodierung als HTTP-EQUIV in einem 'meta'-Element wird bei der Verarbeitung als XML nicht berücksichtigt. (Wenn XHTML als 'text/html' ausgeliefert wird, wird es von Browsern jedoch als HTML verarbeitet.)

    Lange Rede, kurzer Sinn: ISO-8859-1-codierte XML-Dokumente ohne XML-Deklaration sind problematisch.

    UTF-8-codierte XML-Dokumente ohne XML-Deklaration sind nicht problematisch. Generell ist UTF-8 die Codierung der Wahl; lassen sich doch damit sämtliche Zeichen codieren, auch '€', Anführungszeichen '„', '“', Gedankenstriche '–', Ellipsen '…', …

    See ya up the road,
    Gunnar

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

      da ich auf XML auch rel. neu bin, malne Frage, ist das so ok?:

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

      • <response>
          <meta title="Vorsorge gegen SPAM in Gästebüchern, Foren usw." url="spamprot.html" />
          <meta title="Win98 - auf einem alten Rechner, Boot-CD und Recovery" url="mywin98.html" />
          </response>

      http://rolfrost.de/cgi-bin/words.cgi?find=übernehmen

      Viele Grüße,
      Hotte

      1. Hi Rolfhorsthotte,

        da ich auf XML auch rel. neu bin, malne Frage, ist das so ok?:

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

        • <response>

        Nein, Text außerhalb des Root-Elements ist nicht erlaubt, das - darf da also nicht stehen.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hallo,

          da ich auf XML auch rel. neu bin, malne Frage, ist das so ok?:

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

          • <response>

          Nein, Text außerhalb des Root-Elements ist nicht erlaubt, das - darf da also nicht stehen.

          Achso, Du meinst den Bindestrich, ich dachte schon Du stotterst oder plenkst. Btw., den '-' zeigt nur der Browser ;-)

          Viele Grüße,
          Horst Haselhuhn

          1. Hi,

            Btw., den '-' zeigt nur der Browser ;-)

            Wieso gibst Du uns die Browser-Anzeige zur Beurteilung anstelle des XML-Quellcodes?

            Wenn Dein Auto kaputtgeht, bringst Du doch wohl auch nicht ein Video des Autos zum Kfz-Mechaniker ...

            cu,
            Andreas

            --
            Warum nennt sich Andreas hier MudGuard?
            O o ostern ...
            Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Hallo Andreas,

              Btw., den '-' zeigt nur der Browser ;-)

              Der - ist mir beim Kopieren einfach so mit rübergekommen und ich hatte vergessen, den - zu löschen.

              Dein Post gestern hat mir echt ein Rätsel aufgegeben, das Nächstemal bitte richtig quoten.

              Viele Grüße,
              Horst Haselhuhn

    2. Hallo Gunnar,

      danke für die Erklärung.

      Jetzt habe ich noch eine Frage.

      Die Angabe der Zeichencodierung als HTTP-EQUIV in einem 'meta'-Element wird bei der Verarbeitung als XML nicht berücksichtigt. (Wenn XHTML als 'text/html' ausgeliefert wird, wird es von Browsern jedoch als HTML verarbeitet.)

      Genau das will ich doch auch, es ist schließlich kein XML-Dokument und die Meta Angabe im Header ist ja da.

      Lange Rede, kurzer Sinn: ISO-8859-1-codierte XML-Dokumente ohne XML-Deklaration sind problematisch.

      Wieso ist das Ganze dann problematisch (abgesehen vom irrationalen Verhalten des IE)?

      Gruß, Susanne

      1. Hello out there!

        es ist schließlich kein XML-Dokument

        Äh, doch, XHTML 1.0 ist XML.

        Lange Rede, kurzer Sinn: ISO-8859-1-codierte XML-Dokumente ohne XML-Deklaration sind problematisch.

        Wieso ist das Ganze dann problematisch

        Wenn ein XHTML-Dokument per HTTP-Protokoll übers Netz geschickt wird, kann im HTTP-Header die Zeichencodierung angegeben sein: 'Content-Type: text/html; charset=ISO-8859-1'.

        Wird das Dokument gespeichert und lokal aufgerufen (ohne HTTP), dann fehlt die in [XML §F.1] erwähnte „externe Kodierungsinformation“; ein ISO-8859-1-codiertes XML-Dokument MUSS dann eine XML-Deklaration mit Angabe der Zeichencodierung haben.

        Best practice für XHTML-Dokumente ist: Codierung in UTF-8*, keine XML-Deklaration.

        See ya up the road,
        Gunnar

        * http://www.w3.org/International/questions/qa-changing-encoding
          http://www.w3.org/International/questions/qa-htaccess-charset

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

          vielen Dank für deine Geduld.

          es ist schließlich kein XML-Dokument

          Äh, doch, XHTML 1.0 ist XML.

          OK, das war mir vorher nicht klar.

          Best practice für XHTML-Dokumente ist: Codierung in UTF-8*, keine XML-Deklaration.

          OK, jetzt ist es mir klar. Das werde ich umsetzen.

          Gruß, Susanne

      2. Die Angabe der Zeichencodierung als HTTP-EQUIV in einem 'meta'-Element wird bei der Verarbeitung als XML nicht berücksichtigt. (Wenn XHTML als 'text/html' ausgeliefert wird, wird es von Browsern jedoch als HTML verarbeitet.)

        Genau das will ich doch auch, es ist schließlich kein XML-Dokument und die Meta Angabe im Header ist ja da.

        Aber dann solltest Du das Dokument auch nicht als XHTML auszeichnen. XHTML ist ja gerade "HTML als XML-Dialekt". Wenn Du lieber HTML willst, ist es am besten, HTML 4.01 (oder evtl. HTML 5) zu benutzen.

        Liebe Grüße
        Frederik

        1. Hello out there!

          XHTML als 'text/html'
          Aber dann solltest Du das Dokument auch nicht als XHTML auszeichnen.

          Doch. [Jendryschik, Schneegans]

          See ya up the road,
          Gunnar

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