Poznáváme DOM III. — moduly a úrovně
V této části seriálu o specifikaci DOM se budeme zabývat
rozdělením jednotlivých částí specifikace na moduly. Zároveň si povíme o jednotlivých
úrovních specifikace a jejích funkci.
Už při prvním návrhu specifikace DOM bylo patrné, že musí být
navržen takový model specifikace, který by umožnil její další rozšíření. Na pořadu dne byla i otázka jak vyřešit implementaci
na straně jedné a komplexnost specifikace na straně druhé. Rozumné řešení se našlo v podobě rozdělení jednotlivých
částí na moduly, konkrétní implementace si pak krom povinného základního modulu může v rámci svého určení vybrat
další moduly, které bude pro svoje účely implementovat. Webové prohlížeče tak mohly sáhnout například po událostním modulu, naproti tomu pro serverovou
implementaci by byl tento modul takřka zbytečný proto jej ignoruje.
DOM implementace může implementovat jeden(vždy Core modul) nebo více modulů
v závislosti na svém použití. Následující obrázek obsahuje všechny DOM moduly
reprezentované jejich jmény, obrázek obsahuje i moduly, které jsou specifikovány v rámci
Document Object Model (DOM) Level 3, který má v době psaní
tohoto článku status W3C dokumentu Candidate Recommendation.

První specifikace DOM(Level 1) přinesla Core(sada základních rozhraní), které bylo
rozšířeno moduly XML a HTML. Následovalo další rozšíření specifikace DOM(level 2), která přinesla
kromě drobného rozšíření Core a zároveň jeho ustanovení jako modulu, moduly úplně nové — Veiws, StyleSheets, CSS,
CSS2, Events, UIEvents, MouseEvents, MutationEvents,
HTMLEvents, Range a Traversal. Prozatim poslední specifikace DOM(level 3) přinesla
moduly TextEvents, KeybordEvents, MutationNameEvents, LS, LS-Async, DocumentLS,
ElementLS, Validation a XPath.
Sada základních rozhraní, které v Level 2 vytvořily základní modul core, specifikuje rozhraní
DOMImplementation
s metodou hasFeature(feature, version).
Tato metoda umožňuje zjistit implementaci DOM modulu(feature) v určité verzi(version). DOMImplementation
je atributem implementation rozhraní Document - Document.implementation.
Jednoduchým způsobem lze otestovat jestli je modul v příslušné úrovni implementován(ukázka v JavaScriptu).
isHtmlModul = document.implementation.hasFeature("HTML","1.0");První argument vždy tvoří jméno modulu, v druhém argumentu určujeme verzi(1.0, 2.0, 3.0). Návratovou hodnotou
je true|false - implementován|neimplementován. Podporované moduly vašeho prohlížeče lze
zjistit na testovací stránce DOM implementace modulů.
To by bylo pro tento díl všechno, v příští části opustíme holou teorii a podíváme se již na konkrétní příklady
využití. Začneme modulem Core a budeme se zabývat rozhraním Document a
metodami pro procházení dokumentem.
Související články
- (Dagblog 4.1.2004) Poznáváme DOM I
- (Dagblog 5.1.2004) Poznáváme DOM II. — struktura dokumentu a objektový model
- (Dagblog 12.1.2004) Poznáváme DOM III. — moduly a úrovně
- (Dagblog 29.1.2004) Poznáváme DOM Poznáváme DOM IV. — Procházíme dokument
- (Dagblog 24.2.2004) Poznáváme DOM Poznáváme DOM V. — Procházíme dokument II.
Související články
Související epizody CZ Podcastu
- #217 · Ivo Lukačovič
O Windy, JavaScriptu a budování firem.
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.