Autor Zpráva
bzuK
Profil
Ahojky, prosím o pomoc, začínám s XHTML, tohle je začátek mýho php souboru:

<?php header("Content-Type: application/xhtml+xml"); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>
Florin - rozcestník hasičského internetu
</title>
<link rel="stylesheet" href="../hasici.css" />
</head>
<body><div>


IE v pohodě zobrazuje, Firefox zahlásí "Tento XML soubor nemá připojeny žádné informace o vzhledu prvků. Strom XML dokumentu je zobrazen níže." a vypíše zdrojový HTML kód. Nevíte v čem by mohl být problém?
habendorf
Profil
Vyhoď ten první řádek.

(to nám to zas Chamurappi osolí :o))
Chamurappi
Profil
Reaguji na bzuKa:
Nepoužívej XHTML. Škodí přístupnosti, máloco ho podporuje. Věz, že Explorer ho nezná, má jen zvláštně trvanlivou vyrovnávací paměť, takže dodatečných změn MIME typu si občas nevšimne.

Jinak vím přesně, v čem je v případě Mozilly problém. Přečti si W3C doporučení, které se snažíš dodržovat a přijdeš na to také. Mimojiné si mnohem lépe uvědomíš, že <!doctype> ani u XML dokumentů vůbec o ničem nevypovídá. Jakmile však tento problém vyřešíš, pořád bude problémem ta nízká přístupnost.

Reaguji na habendorfa:
:-)
Timy
Profil
Když už nic, tak tam chybí tam deklarace pro jemnný prostor
Chamurappi
Profil
Reaguji na Timyho:
Přesně tak. V případě XML formátů se prohlížeč řídí jmenným prostorem. Je-li vynechán, neví, s čím má tu čest.

V bzuKově případě však ve skutečnosti není vynechán. Element <html> opravdu má atribut xmlns. Jenže není vidět. Ta deklarovaná samopopisnost XML není dotažená do důsledku. Elementy mohou mít atributy, které nejsou vidět, atributy jménem „id“ nemusí být skutečné ID, entity mohou mít jiný význam, než se očekává -- to vše je stále definováno v DTD. A jelikož prohlížeč není povinen číst externí DTD, může uvařit zajímavý guláš. Na co se tedy spoléhat?
a) že přečte DTD, tj. xmlns klidně vynechat a vesele používat entity &nbsp;
b) že nepřečte DTD, tj. xmlns používat a vyhýbat se všem entitám vyjma &lt;, &gt;, &amp;, &quot; a &apos;
c) že nepřečte DTD, ale bude přibližně vědět, co v něm je
-- možnost c) je nepoužívanější. I přesto, že je to stav poměrně nekonzistentní a potenciálně nebezpečný (kvůli drakonismu). Občas si říkám, že by popularita XHTML výrazně poklesla, kdyby jeho podpora vzrostla :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0