Bertel Lund Hansen <nospamfilius@lundhansen.dk> writes:
> Lasse Reichstein Nielsen skrev:
>
>>>> Det burde det ikke i HTML, som ikke er case-sensitiv.
>
>>> Doctypen kommer jo før det er HTML.
>
>> Nej, det bestemmes (eller bør bestemmes) af HTTP-headeren Content-Type.
>
> Doctype-erklæringen er ikke selv HTML, så jeg forstår ikke dit
> "nej".
God pointe. Det var ikke særlig klart skrevet.
Typen af indhold af den fil browseren får tilsendt er beskrevet af
Content-Type-headeren i HTTP-svaret. Hvis der står at det er XML (fx
"application/xml+xhtml") så bruges en XML-parser. Hvis der står at det
er HTML (fx "text/html"), så bruges en HTML(SGML-agtig)-parser. Og
hvis der står "image/jpeg", så bliver det vist på en helt tredje måde.
(Tegnsæt-kodningen står i samme header, hvilket også er vigtigt for at
forstå den sekvens af bytes man har fået som en tekstfil.)
Både HTML- og XML-parserne forstår en DOCTYPE-erklæring i starten af
dokumentet, med samme format. Det første ord efter DOCTYPE er
tag-navnet på rod-elementet for det følgende HTML- eller XML-dokument.
Hvis det er HTML-parseren der læser det, så er tag-navne ikke
case-sensitive. Hvis det er XML-parseren, så er de.
Derfor bør det ikke betyde noget om man skriver
<!DOCTYPE html ...>
eller
<!DOCTYPE HTML ...>
hvis det står i et dokument der er sent med en Content-Type der siger
at det skal parses med den case-insensitive HTML-parser.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:
http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'