Hlavní navigace

Vlákno názorů k článku Soumrak nad moderním X od Radek Burget - Článek kritizuje nepřesnosti ostatních, přičemž sám nám přináší...

Článek je starý, nové názory již nelze přidávat.

  • 27. 2. 2007 10:49

    Radek Burget (neregistrovaný)
    Článek kritizuje nepřesnosti ostatních, přičemž sám nám přináší snůšku nových a ještě větších. Jistě, mnoho nesmyslů se o XHTML napsalo a mnohé výhody, které se XHTML přisuzují, jsou falešné. Ale stále zbývá mnoho opravdových, o kterých se autor vůbec nezmiňuje.

    Dále autor evidentně nemá přesnou představu o způsobu, jakým počítač formální jazyk (tedy značkovací či programovací) zpracovává a s čím to souvisí. O tom svědčí chybná tvrzení, jako "<!DOCTYPE> je odkaz na primitivní schéma, podle něhož může být dokument ověřován k tomu určeným nástrojem" (to skutečně takto zjednodušit nelze), "jeden jediný jazyk XHTML, který je identifikován jmenným prostorem http://www.w3.org/1999/xhtml" (jmenný prostor v žádném případě nedefinuje jazyk, proto XHTML také není jediný jazyk, důvod nepochopení viz DOCTYPE výše) nebo přehnaný důraz účelově kladený na MIME typy, což je podružná záležitost týkající se pouze přenosu dokumentů přes HTTP.

    Pokud se tedy chce autor dále nazývat zkomoleným jménem zákonodárce, měl by mít mnohem větší rozhled o informatice obecně, než začne něco sebevědomě hlásat.
  • 27. 2. 2007 15:59

    Chamurappi
    O tom svědčí chybná tvrzení, jako "<!DOCTYPE> je odkaz na primitivní schéma, podle něhož může být dokument ověřován k tomu určeným nástrojem" (to skutečně takto zjednodušit nelze)
    Co tedy <!DOCTYPE> je? Podle 11 dní starého návrhu druhého vydání XHTML 1.1 je FPI v <!DOCTYPE> zjevně nepovinný, takže jedinou smysluplnou informací zůstane adresa DTD, kterou si pochopitelně může webmaster zkopírovat k sobě.
    Modelová situace: na začátku dokumentu najdete <!DOCTYPE html SYSTEM "kopie-xhtml11.dtd"> — jak z toho poznáte, že jde zrovna o XHTML 1.1? Má snad prohlížeč tu DTD číst? A když ji přečte, jak z ní pozná, že zrovna tohle je XHTML 1.1 a ne nějaký můj vlastní jazyk s mojí vlastní sémantikou?

    jmenný prostor v žádném případě nedefinuje jazyk, proto XHTML také není jediný jazyk, důvod nepochopení viz DOCTYPE výše
    K čemu podle vás slouží jmenné prostory?

    přehnaný důraz účelově kladený na MIME typy
    MIME typ určuje parser. Nebo by alespoň měl. Ověřit, že se tak v prohlížečích při HTML či XML skutečně děje, je snadné.

    Pokud se tedy chce autor dále nazývat zkomoleným jménem zákonodárce, měl by mít mnohem větší rozhled o informatice obecně
    Nerozumím, jak souvisí zkomolené jméno zákonodárce s rozhledem v informatice.
  • 27. 2. 2007 17:12

    Radek Burget (neregistrovaný)

    jedinou smysluplnou informací zůstane adresa DTD, kterou si pochopitelně může webmaster zkopírovat k sobě

    Podle mého názoru, ta adresa DTD slouží jako identifikátor. Tudíž prohlížeče nemusí to DTD stahovat, aby věděly, že jde o XHTML. V případě, že si to někdo zkopíruje k sobě, tak to má jiný identifikátor a pak to opravdu není XHTML ale uživatelský formát, který ovšem může být s XHTML shodný. To pak prohlížeč má problém, protože z DTD nevyčte sémantiku. Normální prohlížeč ale doufá, že je stejná, jako v HTML/XHTML a podle toho jedná. Co mu také zbývá jiného.

    K čemu podle vás slouží jmenné prostory?

    Slouží k tomu, aby nám nekolidovaly značky, které mají v různých jazycích různý význam a přitom stejná jména. Ale nedefinují jazyk. V tomto případě si lze jmenný prostor představit jako množinu značek, tedy abecedu, ze které můžeme tvořit věty, zde dokumenty. Abychom dostali jazyk, potřebujeme k tomu ještě gramatiku jazyka a tu právě definuje DTD. XHTML jsou tedy jazyky nad stejnou abecedou, ale každý má trochu jinou gramatiku.

  • 27. 2. 2007 17:53

    rarouš (neregistrovaný)
    DTD není nutné pro definování gramatiky jazyka. XSD také definuje gramatiku jazyka a využívá jmanných prostorů. Takže nemáte úplně pravdu.
  • 27. 2. 2007 19:07

    Radek Burget (neregistrovaný)
    XSD opravdu je alternativa k DTD, je možné ba i nutné tam pracovat s jmennými prostory, ale tyto jmenné prostory opět nedefinují gramatiku a k tomu tam nejsou. Tu definují jednotlivé elementy XSD.
  • 27. 2. 2007 22:50

    Jirka Kosek (neregistrovaný)
    Pro zpracování dat je však nejdůležitější znát jejich sémantiku a právě jmenné prostory slouží jako identifikace této sémantiky -- máme jmenný prostor pro XHTML, SVG, MathML, XSLT ... Aplikace tak podle jmenného prostoru pozná, zda daný druh XML vůbec dokáže zpracovat.
  • 28. 2. 2007 13:59

    Chamurappi

    Podle mého názoru, ta adresa DTD slouží jako identifikátor.
    Jenže adresa už vůbec nemusí být fixní. XHTML 1.0 i 1.1 (obě vydání obou) říkají, že systémový identifikátor smí být ve vyhovujícím dokumentu změněn.

    Zrovna XHTML 1.1 nabízí dvě verze své DTD. Jednak má svoji mamutí modulovou verzi skládanou z cca dvaceti modulů, jednak i sloučenou verzi do jednoho souboru — kopii té prokazatelně používá validátor. Modulová se od sloučené mírně liší. V prvním vydání XHTML 1.1 nevyžaduje modulová žádný element v <body>, kdežto sloučená ano. V druhém vydání zatím ta modulová naopak vyžaduje alespoň jeden element v <body> a sloučená je už dva týdny vadná, neboť na jejím konci kdosi utrousil kus dokumentu.

    To pak prohlížeč má problém, protože z DTD nevyčte sémantiku.
    Jenže uvnitř DTD není určena sémantika, tam se může dozvědět nanejvýš názvy validních elementů, atributů a entit. Není tam řečeno „tohle je nadpis, tohle obrázek, tohle odkaz“.

    Slouží k tomu, aby nám nekolidovaly značky, které mají v různých jazycích různý význam a přitom stejná jména. Ale nedefinují jazyk.
    Kdyby měly pouze bránit kolizi, tak by nepotřebovaly mít k prefixu přiřazenu adresu. Prefix by totiž stejně natvrdo zakotvila DTD a dokument s jinými prefixy či dokument složený z více jmenných prostorů by potřeboval buď svoji DTD se svojí adresou, která by se neshodovala s adresou oficiální DTD, nebo modularizaci + velkou interní podsadu DTD.

    Kdybych chtěl do XHTML vložit prvky svého vlastního jazyka, při čemž XHTML i ten vlastní jazyk by měli každý svou oficiální DTD, znamená to, že by kvůli zkombinované DTD neměly výsledku rozumět ani XHTML prohlížeče, ani prohlížeče toho mého jazyka?

  • 28. 2. 2007 16:43

    anonymní
    ad nepovinny SYSTEM identifier) Nejak jste to popletl. PUBLIC identifier je stale povinny. (Myslim, ze tohle platilo uz davno pred XHTML 1.1.) Takze vas priklad <!DOCTYPE html SYSTEM "kopie-xhtml11.dtd"> je nesmysl.

    DTD PUBLIC identifier je obdoba XML namespace. Oba mechanismy identifikuji pouzity jazyk. Oba k tomu pouzivaji URI a zcela bezne se pouzivaji katalogy (at uz SGML ci XML) pro preklad techto URI na aktualni URL (trebas na lokalni kopii).

    To, ze se DTD dostalo do XML je chyba. XML melo vymytit silenou slozitost SGML. Bohuzel pri vynalezani XML neexistoval jiny jazyk pro schema nez DTD, takze to dopadlo tak, jak to dopadlo.
  • 28. 2. 2007 18:33

    Chamurappi

    Ve stávajícím návrhu druhého vydání XHTML 1.1 je psáno, že se veřejný identifikátor musí odvolávat na oficiální DTD, pokud je přítomen. Z čehož usuzuji, že povinný není. Ale uznávám, že to je jen pracovní návrh.

    Domnívám se, že FPI jako obdobu jmenných prostorů chápat nelze. Doporučení XML 1.0 o něm hovoří pouze jako o alternativní pěšince k adrese DTD. Odhlédnu-li od teorie: v praxi prohlížeče podle veřejného identifikátoru jazyk neurčují.