Názor k článku
Mix posvátné validity a X

Vladimír Saur
Vladimír Saur (neregistrovaný)
14. 3. 2007 10:55

Re: Prolhaní imperialisté!

celé vlákno
V kapitole 1 jsou ovšem dvakrát zmíněné vyhovující HTML prohlížeče. To očividně pravda není.
Jednou jsou tam zmíněné vyhovující prohlížeče, jednou existující prohlížeče, je tam odkazován dodatek C, kde je to řečeno dostatečně výmluvně: "This appendix summarizes design guidelines for authors who wish their XHTML documents to render on existing HTML user agents. Note that this recommendation does not define how HTML conforming user agents should process HTML documents." Možná bychom našli ve specifikaci více vět, které bez kontextu lze úspěšně zpochybnit a napsat o tom článek s hezkým bulvárním titulkem a perexem.
RFC 2854 pochází částečně od W3C. Tvrdí: „XHTML 1.0 defines a profile of use of XHTML which is compatible with HTML 4.01“ — poznámka o kompatibilitě se stávajícími prohlížeči tam chybí. Můžete tomu říkat „zavádějící terminologie operující s nepravdivými tvrzeními“.
Ano, souhlasím, je to zavádějící formulace. Je užita v odkazu na dokument, kde je ovšem dostatečně vysvětlena. Myslím, že o předchozích dvou bodech je zbytečné dále diskutovat - je to o tom, jak chápeme některé anglické fráze, jak je pro nás důležitý kontext, tedy do značné míry o osobních pocitech. Já si nemyslím, že si ty (osamoceně) nejasné formulace zaslouží takový humbuk, ale názory na to můžeme mít samozřejmě různé.
„… zajímá mne, na základě čeho autor článku dovozuje, že se to nesmí“ Říkám pouze, že takový dokument nebude validní.
Proč? RFC2854 říká, že s mime typem "text/html" můžete dostat jak dokumet s HTML syntaxí, tak dokument s XHTML syntaxí.
1) Oficiální validátor se snaží uhodnout, jaký má užít parser, podle deklarace doctype. Jenže značkovací jazyk musí znát před prvním zakousnutím se do dokumentu, aby vůbec tu deklaraci našel.
A jak to chcete prakticky zajistit? Z mime typu to prohlížeč/validátor může zjistit v případě http komunikace. Validátor i prohlížeč ovšem si ovšem poradí i se soubory z disku, validátor se samotným kódem vloženým přes formulář. Bude tedy pro stejný kód, který jednou dostane pomocí http, jednou vložením do formuláře, dávat odlišné výsledky?
2) Veřejný identifikátor v doctype nevypovídá o syntaxi. Normativně jen usnadňuje nalezení DTD, nic víc. Kupříkladu návrh druhého vydání XHTML 1.1 ani FPI nevyžaduje.
Mime typ samotný také nic sám o sobě nevypovídá o syntaxi. Prohlížeč/validátor si musí pamatovat, jaká syntaxe odpovídá určitému mime typu. Stejně tak si může pamatovat, jaká syntaxe odpovídá určitému DTD (byť samotná DTD syntaxi neurčuje). Prakticky jsou dnes jak prohlížeče, tak validátor v situaci, kdy na mime typ mohou těžko spoléhat.
Zmíněný Annex K vyšel dva roky před dokončením HTML 4.01. EMPTYNRM je přepínač v SGML deklaraci, která se do HTML dokumentů nepíše, takže minimálně u validátoru by problém částečně přetrval.
Praktický význam by ten přepínač neměl víceméně žádný. Víceméně by se poupravila syntaxe shorttags v místě, kde je to stávajícím HTML prohlížečům stejně putna.