SAX sau DOM?

 

 SAX si DOM au fost create pentru a permite programatorilor sa acceseze informatia fara sa fie nevoiti sa scrie propriul parser. SAX si DOM API sunt ambele disponibile in mai multe limbaje de programare precum Java, C++,Perl, Python etc.Deci amandoua au fost create pentru a servi acelorasi scopuri:accesul la informatia din documentele XML folosind aproape de orice limbaj de programare. Totusi ambele au abordari diferite in a accesa informatia din XML.

   Ce este DOM?


 Document Object Model (DOM) ofera un set de interfete definite de W3C DOM Working Group.Acestea descriu facilitatile pentru reperezentarea arborescenta a documenteleor XML(sau HTML) in aplicatii.Specificatiile acestor interfete sunt definite prin intermediul limbajului Interface Definition Language(IDL)-limbaj pentru definirea interfetelor - care este independent de limbajul de programare.La adresa www.w3.org/DOM se gasesc specificatiile DOm nivelul 3.

   Ce este SAX?

 Simple API for XML Parsing ofera o interfata bazata pe evenimente pentru parsarea documentelor XML.Modalitatea de procesare este foarte simpla:se parcurge fisierul respectiv, iar la aparitia elementelor XML se vor lansa evenimente care pot fi tratate. Programatorul va trata evenimentele dorite si in functie de elementul(tagul)generator va realiza anumite operatii.Mai multe detalii despre SAX 2.0 se gasesc aici.

  Cand sa folosesti DOM?

 DOM este frecvent intalnit in aplicatiile care necesita accesarea informatiilor din diferite portiuni ale documentului XML.Memoria ocupata de arborele asociat nu va fi un dezavantaj foarte mare in acest caz. Din cauza consumului de memorie, se are in vedere ca documentele XML sa nu fie de mari dimensiuni.

  Cand sa folosesti SAX?

 SAX este utilizat, in general, pentru documente de mari dimensiuni si care nu necesita accesul aleator la date.Parcurgerea este secventiala, de la inceput pana la sfarsit, si nu presupune memorarea intregului fisier la un moment dat.