fjh: XHTML/Reihenfolge "encoding" und "DOCTYPE"

Beitrag lesen

Hallo Stefan,

vermutlich meint er den Switch zwischen standardkonform und den MS-
Standards (<marquee> etc.).

Aha, und wenn man dem IE also XHTML ankündigt, dann versteht er seine eigenen nicht-standardkonformen Tags nicht mehr. Finde ich gut ;-), aber in der Praxis sicherlich ein Problem für einige Webseiten, die auf XHTML umstellen wollen, aber trotzdem einige MS-Tags nutzen möchten.

da möchte ich nochmal nachfragen. Ist der folgende Teil ein korrektes
Dokument nach XHTML 1.0 Strict oder ist da etwas zuviel, zuwenig oder
falsch angeordnet:

Aus meiner Sicht alles korrekt.

Einige Anmerkungen:

  • XML-Deklaration könnte man theoretisch weglassen, da Du als encoding UTF-8 angegeben und das als Standard angenommen wird, wenn kein encoding angegeben wird.
  • mit dem lang-Attribut in xhtml kennen ich mich nicht so gut aus, und ich weiss auch nicht genau was die Browser dabei eigentlich auswerten. Aber eigentlich benötigt man ja nur ein solches Language-Attribut. Also entweder das xml:lang-Attribut oder das xhtml:lang-Attribut.
  • Falls du ein gültiges Dokument benötigst, musst du das xml:lang-Attribut in der DTD deklarieren
  • Ja und dann gibt es ja noch das leidige Namensraumthema: Eigentlich gehört das lang-Attribut nicht zum Gültiggeitsbereich des deklarierten Standardnamensraums, da Attribute generell nicht in den Gültigkeitsbereich von Standardnamensräumen fallen.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>example</title>
</head>
<body>
<p>content</p>
</body>
</html>

Das Attribut lang in <html> steht für die Sprache des Dokumentes und
müßte dann bei dt. Seiten demzufolge lang="de" heißen?

ja, die Kürzel sind standardisiert nach ISO 639, oder so...

Gruß
Franz