pondělí 5. ledna 2004

Poznáváme DOM II. - struktura dokumentu a objektový model

Po letmém seznámení, ve kterém jsme si minule představili specifikaci DOM a její základní myšlenku, nás v tomto díle čeká povídaní o vlastní struktuře dokumentu. Pochopení struktury dokumentu a její abstrakce na strukturální model a objektový model nám pomůže dotvořit obecnou představu o specifikaci DOM.

Z pohledu DOMu si můžeme dokument představit jako logickou strukturu uzlů, která se podobá rozvětvenému stromu. Ačkoliv samotná specifikace nepřikazuje nutnost implementace logické struktury jako stromu a ani se nedotýká způsobu implementace vztahu mezi jednotlivými uzly, tak se budeme držet termínu strukturální model, zavedeného specifikací, který použijeme k popisu stromové reprezentace dokumentu.

Ještě chvilku se přidržíme specifikace, abychom si na kousku HTML kódu ukázali jeho DOM reprezentaci.

 
   <ul>
	<li>foo</li>
        <li>hoo</li>
        <li><a href="http://bar.com">bar</a></li>
   </ul>
 

DOM reprezentace HTML kódu

Za povšimnutí stojí absence atributu href. Ačkoliv v XML stromu by byl atribut jako jeden uzel a jeho obsah jako uzel druhý nechyběly, z hlediska struktury dokumentu DOM se atributy nepovažují za další uzly dokumentu.

Pozorný čtenář si jistě všimnul, že byly zmíněny pojmy dokument a model, třetím do party je objekt. Právě objekty nám umožňují modelovat nejen strukturu dokumentu, ale umožňují modelovat i chování celého dokumentu či jeho částí. Jednotlivé uzly představují objekty, které zapouzdřují chování a vnitřní stavy, právě proto nejsou v předchozím modelu atributy přítomny neboť představují či popisují vnitřní prezentaci objektu.

Vyjádření dokumentu pomocí objektů se nazývá objektový model a z pohledu DOM je specifikován následovně.

  • množinou rozhraní a objektů použitých k reprezentaci a manipulaci s dokumentem
  • sémantikou těchto rozhraní a objektu s jejich chováním a vlastnostmi
  • vztahy a spoluprácí mezi těmito rozhraními a objekty

Tímto bychom dnešní povídaní zakončili. Příště se podíváme na rozdělení DOMu na jednotlivé moduly a dále se probereme základní moduly DOM Core a DOM HTML. V další části bychom mohli přejít od teorie k praktickému využití DOMu.

Související články