XHTML 1.1 validnost (validita, bezchybnost)

Již bylo popsáno mnoho papíru jak, proč dělat stránky v XHTML 1.1, jak zkontrolovat, ověřit bechybnost (validní stránky), zda je lepší HTML nebo XHTML ap. Musím podotknout, že je v tom poněkud zmatek z několika důvodů:

  1. Konsorcium W3C vydalo specifikaci XHTML 1.1
    Toť dobrý počin, vyznačilo směr dalšího vývoje s ohledem na přístupnost, zobrazování ap.
  2. Firma pana "Účet Brány" se svým nejrozšířenějším ale zastaralým internetovým prohlížečem IE 6, 7, 8 zřejmě nemíní respektovat jakákoliv pravidla, normy a specifikace. Proto IE 6, 7, 8 nepodporuje zobrazování XHTML stránek.

Jak tyto protichůdné věci sladit u webkodéra do skutečného XHTML a při zachování duševního zdraví programátora?

Existující řešení psaní XHTML internetových stránek

  1. Psát stránky v PHP a na začátek přidat:
    <?php header("Content-Type: application/xhtml+xml; charset=utf-8"); ?>
  2. Ukládat xhtml soubory s příponou .xhtml
  3. Nastavit to na webovém serveru tak, aby posílal prohlížeči stránky s koncovkou .html jako XHTML

Ve všech případech se ale řeší to, že firma pana "Účet Brány" zřejmě nemíní respektovat jakákoliv pravidla, normy a specifikace.

Kostra takové XHTML stránky v PHP

<?php
header("Content-Type: application/xhtml+xml; charset=utf-8");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="xhtml,1.1,stránky" />
<meta name="description" content="Pravé XHTML stránky v PHP." />
<title>Pravé XHTML stránky v PHP</title>
<link href="styl.css" rel="stylesheet" type="text/css" />
</head>
<body>
<h1>Pravé XHTML stránky v PHP</h1>
<p>Nějaký text</p>
</body>
</html>

Jak to kontrolují validátory

Oficiální i český validátor hlásí bezchybnost a žádná varování. Prostě stránky jsou validní a XHTML.

Jiná situace nastává, když XHTML 1.1 stránka je v PHP bez hlavičky
header("Content-Type: application/xhtml+xml; charset=utf-8"); nebo má příponu .html.
V takovém případě jsou tyto stránky emulovány (parsovány) jako obyčejné HTML stránky.
U takovýchto stránek oficiální validátor W3C hlásí:
Result: Passed validation, 1 warning(s)
Conflict between Mime Type and Document Type

Český validátor hlásí chyby:
Výsledek: Dokument neprošel validací, 3 chyby

skutečná XHTML 1.1 stránka

Oba validátory reagují na stejnou věc jinak, tedy na to, že XHTML je emulováno jako prosté HTML. Skutečnou XHTML stránku kontrolují bez chyb a správně, viz například SHA-1 nebo XHTML.
Ovšem skutečnou XHTML stránku není ten internetový prohlížeč firmy pana "Účet Brány" zobrazit.

Řešení pro uživatele, brouzdaly po Internetu

Zde je situace poměrně jasná. Prostě používat internetové prohlížeče, které podporují standardy (např. FIREFOX), mezi něž standard XHTML patří.


, články o IT