Document Object Model

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

DOM (akronym anglického Document Object Modelobjektový model dokumentu) je objektově orientovaná reprezentace XML nebo HTML dokumentu. DOM je API umožňující přístup či modifikaci obsahu, struktury, nebo stylu dokumentu, či jeho částí.

Původně měl každý webový prohlížeč své vlastní specifické rozhraní k manipulaci s HTML elementy pomocí JavaScriptu. Vzájemná nekompatibilita těchto rozhraní však přivedla W3C k myšlence standardizace, a tak vznikl W3C Document Object Model (zkráceně W3C DOM). Tato specifikace je platformnějazykově nezávislá. Předchozí specifická rozhraní byla nazvána Intermediate DOM (anglicky přechodný DOM).

DOM umožňuje přístup k dokumentu jako ke stromu, což je zároveň datová struktura používaná ve většině XML parserů (Xerces, MSXML) a XSL procesorů (Xalan). Tato technologie, nazývaná grove (Graph Representation Of property ValuEs), vyžaduje nahrání celého parsovaného dokumentu do paměti, z čehož plyne, že její optimální použití je tam, kde je k jednotlivým elementům dokumentu přistupováno v náhodném pořadí nebo opakovaně. Existuje i alternativní technologie pro případ, že je potřeba postupná, nebo jednorázová úprava – sekvenční model SAX, který má v těchto případech výhodu rychlejšího zpracování a nižší paměťové náročnosti.

DOM Level[editovat | editovat zdroj]

Specifikace W3C DOM jsou rozděleny do několika úrovní (DOM level), z nichž každá obsahuje povinné a volitelné moduly. K tomu, aby nějaká aplikace mohla prohlásit, že podporuje určitý DOM level, musí implementovat všechny požadavky dané úrovně a všech nižších. Aplikace mohou též podporovat specifická rozšíření (anglicky vendor-specific extensions) za podmínky, že nejsou v konfliktu s W3C standardy. V současnosti (leden 2014) existují čtyři úrovně (Level 1, Level 2Level 3 a Level 4), z nichž první tři jsou již ve stádiu W3C Recommendation.

Level 0[editovat | editovat zdroj]

Podpora Intermediate DOM, jenž existoval před vytvořením DOM Level 1. Například DHTML Object Model vyvinutý firmou Microsoft, nebo nepojmenovaný Intermediate DOM od Netscape. Level 0 není formální specifikací publikovanou W3C, ale používá se jako srozumitelná zkratka odkazující na věci existující před standardizačním procesem.

Level 1[editovat | editovat zdroj]

Navigace v DOMu (HTML a XML) dokumentu (resp. jeho stromové struktuře) a manipulace s obsahem (včetně přidávání elementů). Specifické elementy HTML jsou obsaženy také.

Level 2[editovat | editovat zdroj]

Podpora jmenných prostorů (anglicky XML namespace), událostí a filtrovaných pohledů.

Level 3[editovat | editovat zdroj]

Standardizovaný mechanismus načítání a ukládání a podpora XML schémat[1]. Navíc umožňuje například dynamické vkládání obsahu do dokumentu a přidává některé nové metody a vlastnosti.[2]

Level 4[editovat | editovat zdroj]

Vývoj se zaměřuje na sloučení předchozích standardů DOM Level 3 Core, Element Traversal, Selectors API Level 2, DOM Level 3 Events a DOM Level 2 Traversal and Range a jejich zjednodušení a přiblížení již existujícím standardům, především specifikacím JavaScriptu a HTML5. Specifikace dále zjednoduší časté DOM operace.[3]

Specifikace[editovat | editovat zdroj]

Všechny dokumenty jsou v angličtině

Level 1[editovat | editovat zdroj]

Level 2[editovat | editovat zdroj]

Level 3[editovat | editovat zdroj]

Level 4[editovat | editovat zdroj]

  • W3C DOM4 (W3C Last Call Working Draft)

Další (vývoj ukončen, nikdy nevydané)[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

  1. DOM – objektový model dokumentu – Živě.cz
  2. DOM Levels
  3. W3C DOM4 Goals

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]