marți, 13 ianuarie 2009

Introducere in tehnologii XML -- Part 2 -- SAX

SAX (Simple API for XML) este un parsre cu acces serial pentru XML ,oferind un mecanism de citire al datelor dintr-un fiser de tip XML.

Orice parser care implementeaza SAX va fi un parser de stream condus de evenimente. Asta se traduce liber in faptul ca in momentul in care parsarea va detecta un anumit eveniment (inceput de fisier ,inceput de tag ,sfarsit de fiseri ,etc) se va declansa un trigger care va apela o metoda definita de user ,astfel reusindu-se sa se extraga informatii din fiser.

Parser-ul SAX are doua avantaje majore asupra DOM - ului : este mai rapid si foloseste mai putina memorie. Totusi ,SAX este destul de dificil de folosit cand avem fisiere XML de stul de complicate ,uesr-ul putand gresi cand defineste metodele ce se declanseaza la diferite tipuri de evenimente.

De exemplu ,avand urmatorul XML

<rootelement param="value"> <firstelement> Some Text </firstelement> <secondelement param2="something"> Pre-Text <inline>Inlined text</inline> Post-text. </secondelement> </rootelement>

Parserul XML va genera o secventa de evenimente similare cu:
  • XML Processing Instruction,numita xml, cu atributele version egal cu "1.0" si encoding egfal cu "UTF-8"
  • XML Element start, numit RootElement, cu un atribut param egal cu "value"
  • XML Element start, numit FirstElement
  • XML Text node, cu data "Some Text"
  • XML Element end, numit FirstElement
  • XML Element start, numit SecondElement, cu un atribut param2 egal cu "something"
  • XML Text node, cu data "Pre-Text"
  • XML Element start, numit Inline
  • XML Text node, cu data "Inlined text"
  • XML Element end, numit Inline
  • XML Text node,cu data "Post-text."
  • XML Element end, numit SecondElement
  • XML Element end, numit RootElement

Niciun comentariu: