Přeskočit na obsah

Document Object Model

Z Wikipedie, otevřené encyklopedie

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 konsorcium 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

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í tato 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 2006) existují tři úrovně (Level 1, Level 2Level 3), z nichž první dvě a některé z modulů třetí jsou ve stádiu W3C Recommendation.

Level 0

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

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

Level 2

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

Level 3

Sestává se ze šesti různých specifikací dále rozšiřujících DOM:

  1. DOM Level 3 Core
  2. DOM Level 3 Load and Save
  3. DOM Level 3 XPath
  4. DOM Level 3 Views and Formatting
  5. DOM Level 3 Requirements
  6. DOM Level 3 Validation

Specifikace

Všechny dokumenty jsou v angličtině

Level 1

Level 2

Level 3

Tyto dokumenty ještě nemají status W3C Recommendation:

Související články