XHTML 1.1 s IFRAME a TARGET
Webdesign, CMS
08.11.05
Udělal jsem si vlastní DTD, který rozšiřuje XHTML 1.1 o moduly pro iframe
a target
. Důvod pro použití iframe
je statistika iAudit, která se vkládá právě přes iframe
, a použití target
se mi jeví vhodnější než klička přes JavaScript.
Takto vypadá finální DTD:
<?xml version="1.0" encoding="utf-8"?> <!ENTITY % xhtml-datatypes.module "INCLUDE"> <![%xhtml-datatypes.module;[ <!ENTITY % xhtml-datatypes.mod PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-datatypes-1.mod"> %xhtml-datatypes.mod;]]> <!ENTITY % xhtml-qname.module "INCLUDE"> <![%xhtml-qname.module;[ <!ENTITY % xhtml-qname.mod PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-qname-1.mod"> %xhtml-qname.mod;]]> <!ENTITY % iframe.qname "%XHTML.pfx;iframe"> <!ENTITY % Misc.extra "| %iframe.qname;"> <!ENTITY % xhtml11.dtd PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> %xhtml11.dtd; <!ENTITY % xhtml-iframe.module "INCLUDE"> <![%xhtml-iframe.module;[ <!ENTITY % xhtml-iframe.mod PUBLIC "-//W3C//ELEMENTS XHTML Inline Frame Element 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-iframe-1.mod"> %xhtml-iframe.mod;]]> <!ENTITY % xhtml-target.module "INCLUDE"> <![%xhtml-target.module;[ <!ENTITY % xhtml-target.mod PUBLIC "-//W3C//ELEMENTS XHTML Target Module//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-target-1.mod"> %xhtml-target.mod;]]>
DTD je k volnému soukromému i komerčnímu použití.
Nepsal jsi již o tom někdy (cca před půlrokem)
Jinak je vhodné výslovně uvést, že to již není XHTML1.1, ale XHTML1.1HulanEdition, aby to lidi nemátlo.
[1] jistěže to JE XHTML 1.1, od toho je modularita..
A nešlo by místo <iframe> použít <object>?
[2] Príde mi to ako obchádzanie DTD pravidiel. Buď použiješ Strict a budeš pravidlá obchádzať alebo použi radšej Transitional, či Frameset.
Ale je to tvoja stránka, dosiahol si úspešnú validáciu a nemusíš nič prepisovať. Rob, ako uznáš za vhodné.
[4] toto JE zajímavá diskuse, sice OT, ale přesto podstatná. Podle mého názoru je XHTML 1.1 modulární právě proto, aby toho člověk využil, jinak může používat XHTML 1.0 STRICT. Pokud XHTML 1.1 nabízí modularitu, není logický důvod říkat, že řešení bez modularity je tomu s modularitou nějak "nadřazeno".
[5] Už z princípu nemôžem tvrdiť, že mám striktnú stránku, ak používam atribúty, ktoré DTD Scrict zakazuje, pričom použitie iframe kvôli štatistike schvaľujem, je to sice obchádzka, no z hľadiska použitia úplne validná. Avšak, používanie atribútu
target
prea
tag, v tomto prípade nesúhlasím.[6] to je prostě nesmysl, nějaký modul "uznávat" a jiný nikoliv, XHTML 1.1 je modulární, a jeho rozšíření je tudíž tvůrci zamýšlené a žádané. Rovněž W3C validátor takovýto DTD chápe jako plně validní, což je autorita nejvyšší ;-)
[7] Tak potom sa dostávame do bludného kruhu, čo je validné podľa DTD štandardu a čo nie? Môžem si modifikovať vlastné DTD tak, že každý môj zápis bude validný a pritom vytvorím humusný kód a profesionál sa bude chytať za hlavu.
Osobne by ma na túto problematiku zaujímal názor Pixyho a ďalších uznávaných web dizajnérov. Pýtal som sa kolegov v našej firme a tí sa vyjadrili jednoznačne proti samotnému používaniu
target
atribútu, nieto ešte obchádzaniu validátora.XHTML (i ve verzi 1.0) je XML. Validita XML se kontroluje proti DTD (ponechme stranou, že je to nejhorší možný způsob definování vlastního DT, viz např. XML schema). Radkův web používá vlastní DT - vlastní XML, to, že z (velmi :)) velké části převzal XHTML je jedno. Z hlediska prohlížeče, je to jen jiné XML. Pokud to navíc udělá jako vlastní modul v rámci XHTML 1.1 tak o validitě se vůbec nedá diskutovat.
Dnes už futurista nepoužívá XHTML 1.1 ani XHTML 2.0 ale jen XML s vlastními styly. IMHO je tohle elegantní řešení iAuditu.
Co se týče atributu target, je to spíše diskuze o použitelnosti a přístupnosti. Vyskakování nových oken na normálním webu je IMHO dnes už jen podlá marketingová věc (navíc díky moha blokovacím nástrojům přestává fungovat). Target bych nepoužíval na webech ne proto, že není v strict XHMTL, ale že dnes už je trochu out. Něco jiného jsou webové aplikace, kde ale na druhou stranu JS dává více funkčnosti.
[7] Je to jednoduché -- standard XHTML 1.1 jednak obsahuje modulární DTD, které definuje, jak mají vypadat dokumenty v XHTML 1.1. Zároveň obsahuje popis toho, jak si na základě tohoto modulárního DTD vytvářet vlastní odvozené verze XHTML. Dokumenty vyhovující takto odvozené verzi DTD však již nelze považovat za XHTML 1.1 dokumenty.
To, že to projde validátorem W3C neznamená nic jiného, než že dokument vyhovuje připojenému DTD, ale nic to neříká o shodě se specifikací. Více jsem o tom psal v článku http://interval.cz/clanek.asp?article=3969...
Z pohledu XML je určování verzí pomocí !DOCTYPE anachronismus, význam elementů je určen podle toho, do jakého patří jmenného prostoru.
Ahoj Radku, schválně jsem se díval na specifikaci W3C a je tam jasně napsáno, že pokud se do DTD XHTML 1.1 přidá cokoliv dle pravidel W3C, tak je to stále XHTML 1.1 i kdyby přidané tagy byly ty, které se nemají používat.
Problém vidím jedině v tom, jak zaručit, aby do budoucna byla zaručena dostupnost xmlns.
Pokud se budu odvolávat v definici na tvou specifikaci a ty v budoucnu změníš uri, tak jsem v háji, leda že bych uváděl 2 specifikace xmlns, a to jednu W3C a jednu doplňující tvou.
Skvely clanek