wozu brauche ich die XML Angabe in einer XHTML Seite?
Susanne07
- html
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
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
Hi Frederik,
danke für deine Erklärung
Gruß, Susanne
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
Hallo,
da ich auf XML auch rel. neu bin, malne Frage, ist das so ok?:
<?xml version="1.0" encoding="ISO-8859-1" ?>
http://rolfrost.de/cgi-bin/words.cgi?find=übernehmen
Viele Grüße,
Hotte
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
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
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
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
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
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
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
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
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