Autor Zpráva
a903user
Profil
Ahoj, vím, že se tu toto téma již probíralo, ale doba pokročila a všechny mnou nalezené příspěvky jsou již dost fousaté.

Dle doporučení W3C (www.w3.org/QA/2002/04/valid-dtd-list.html) je moje hlavička následující:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="cs" lang="cs">

<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
...
</head>

Jak má člověk rozklíčovat tuto hlavičku vzhledem k příponě souborů? Doctype je xhtml, ale content je zase text/html. Mám jako příponu souborů zvolit .html nebo .xhtml? Osobně bych u xhtml stránky použil .xhtml příponu, ale nejsem si jistý, zda si spíše nezadělám na nějaké problémy (prohlížeče, roboti, validátory atd.).
juriad
Profil
Ano, doba pokročila. XHTML už shnilo a nikdo se jím vážně nezabývá. Byla to slepá větev, která od počátku byla, na vzdory snaze konsorcia, odsouzena k neúspěchu.

Z jakého důvodu na XHTML vůbec uvažuješ?
Str4wberry
Profil
O příponu ani tak nejde.

Podstatný je MIME typ. Ten nicméně může webový server volit na základě té přípony.

Můžete tedy vhodnou hlavičkou vytvořit skutečné XHTML s příponou .html i .xhtml nebo úplně bez přípony atd.

Nevýhody skutečného XHTML jsou pořád stejné.

1) Risiko k chybám, kdy drobná chyba, která by skoro vůbec nevadila, rozbije celou stránku.
2) Slabší podpora v koncových zařízeních.
a903user
Profil
juriad:
Z jakého důvodu na XHTML vůbec uvažuješ?

Přiznám se, že je to spíše zvyk. Celý kód mám napsaný jako xhtml (<br /> apod.). Co je tedy dnes moderní a zároveň s co nejširší podporou?


Str4wberry:
Podstatný je MIME typ. Ten nicméně může webový server volit na základě té přípony.

Asi si stojím na vedení, ale pořád to nechápu. content="text/html; říká, že jde o html, ale přitom kód je napsaný jako xhtml (<br /> apod.). Tak co to tedy je?
Radek9
Profil
a903user:
Co je tedy dnes moderní a zároveň s co nejširší podporou?
Ani tak nejde o to, co je moderní. Podpora je mnohem důležitější. A nejlepší podporu má odedávna prostě pouhopouhé HTML. Mimochodem, tohle je nejjednodušší kostra:

<!doctype html>
<meta charset="utf-8">
<title>Titulek</title>

<h1>Nadpis</h1>
<p>Text</p>

Kde vyznačená část už je běžný obsah. Nic víc nepotřebuješ. Zápisy typu <br /> nevadí, běžný HTML parser ti je schroustá. On to prostě vidí jako normální HTML tag s poněkud zvláštním ukončením. Otázkou spíš je, proč tam ty dva znaky navíc psát? :-)

content="text/html; říká, že jde o html, ale přitom kód je napsaný jako xhtml
To zpracování HTML jsem popsal výše. Pokud bys opravdu chtěl posílat stránku jako XHTML, Content-Type by byl application/xhtml+xml.
Bubák
Profil
Radek9:
Pokud bys opravdu chtěl posílat stránku jako XHTML, Content-Type by byl application/xhtml+xml.
Ale rozhodující je http hlavička Content-Type, kterou posílá server. Pokud je http hlavička Content-Type: text/html, tak do meta tagu můžu dát třebas text/plain nebo application/xhtml+xml, ale prohlížeče to pořád budou brát jako text/html.
Str4wberry
Profil
Reakce na a903usera:
Asi si stojím na vedení, ale pořád to nechápu. content="text/html; říká, že jde o html, ale přitom kód je napsaný jako xhtml (<br /> apod.). Tak co to tedy je?

Ta <meta> značka v HTML kódu v podstatě nic nedělá. Prohlížeč potřebuje znát MIME typ už před začátkem z HTTP hlavičky. Potom může prohlížeč kód brát jako XHTML.

Zkuste si přidat tu hlavičku, co píše Bubák, potom se prohlížeč bude k obsahu chovat jako k X(HT)ML.
a903user
Profil
Díky všem, už je mi to asi celkem jasné a zvolil jsem onen HTML5 zápis a .html příponu.
Str4wberry
Profil
To jste zvolil dobře.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: