Sunteți pe pagina 1din 7

Capitolul 3

Formatul XML folosit pentru salvarea graf-ului


3.1 Introducere
Limbajul Java ofera un bun suport pentru procesarea documentelor XML.Sunt
disponibile ambele modalitati de parsare:SAX si DOM . Fiecarea prezinta avantaje si
dezavantaje, utilizarea acestora fiind in functie de natura documentelor XML si de
cerintele pe care trebuie sa le indeplineasca aplicatia.
SAX este utilizat, in general, pentru documente de mari dimensiuni si care nu
necesita accesul alear la date.Parcurgerea este secventiala, de la inceput pana la sfarsit
DOM este frecvent intalnita in aplicatiile care necesita accesarea informatiilor
din diferite portiuni ale documentului XML. Memoria ocupata de arboreal asociat nu
va fii un dezavantaj foarte mare in acest caz. Din cauza consumului mare de memorie,
se are in vedere ca documentele XML sa nu fie de mari dimensiuni.
Deoarece aplicatia mea salveaza si incarca un graf, este nevoie doar de o
parcurgere secventiala si deci am folosit modalitatea de parsare SAX.

Sax (Simple API for XML Parsing ) permite procesarea documentelor XML prin
intermediul unor evenimente. Modalitatea de procesare este foarte simpla: se parcurge
fisierul respectiv, iar la aparitia elementelor XML se vor lansa evenimente ce pot fi
tratate. Programatorul va trata evenimentele dorite si in functie de elementul (tagul
XML) generatorul va realiza anumite operatii.
3.2 Pachete necesare
Pachetele necesare. Procesarii documentelor XML prin intermediul SAX sunt
urmatoarele:
 javax.xml.parsers
Contine clasele necesare procesarii documentelor XML (atat SAX cat
DOM )
 org.xml.sax
Ofera interfetele necesare procesarii documentelor XML prin SAX
 org.xml.sax.helpers
Defineste clase ajutatoare pentru utilizarea interfetelor SAX
 org.xml.sax.ext

27
Ofera doua interfete pentru a extinde SAX-ul

3.3 Descrierea formatului xml


<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<Graf>
<Noduri>
<Nod Id="nume nod 1" Xcenter="x nod 1" Ycenter="y nod 1"
Latura="20"></Nod>
…………………………………………………………………………………..
<Nod Id=" nume nod n" Xcenter="x nod n" Ycenter="y nod n"
Latura="20"></Nod>
</Noduri>
<Arce>
<Arc Id="arc 1" From="extremitate initiala 1" To="extremitate finala 1">
<Labels>
<Label>
nume eticheta nr 1 a arcului cu numarul 1
</Label>
…………………………
<Label>
nume eticheta nr k1 a arcului cu numarul 1
</Label>
</Labels>
</Arc>
………………………………………………………..
<Arc Id="arc 1" From="extremitate initiala m”To="extremitate finala m>
<Labels>
<Label>
nume eticheta nr 1 a arcului cu numarul m
</Label>
…………………………
<Label>
nume eticheta nr km a arcului cu numarul m

28
</Label>
</Labels>
</Arc>
</Arce>
</Graf>

In reprezantarea mea se poate obseva ca un arc de la x la y poate avea mai multe


etichete..Motivul pentru aceasta este ca am decis sa reprezint toate arcele de la x la y
cu etichete diferite printr-un singur arc avand toate aceste etichete.

3.4 Semnificatia tagurilor

 Graf semnifica inceputul structurarii unui graf .Contine in interiorul sau ,


un tag de tipul Noduri, respectiv Arce
 Noduri descrie multimea nodurilor acestui graf. Contine in interiorul sau ,
taguri de tipul Nod
 Nod descrie un nod al acestui graf, avand urmatoarele atribute:
 Id numele acestui nod
 Xcenter coordonata pe axa Ox a acestui nod
 Ycenter coordoanta pe axa Oy a acestui nod.
 Latura raza cercului prin care este reprezentat acest nod
 Arce descrie multimea nodurilor acestui graf Contine o serie de tag-uri
Arc
 Arc descrie un arc al acestui graf avand urmatoarele atribute:
 Id numele acestui arc
 From numele nodului de la care porneste acest arc
 To numele nodului la care ajunge acest arc
 Labels descrie multimea etichetelor unui arc Contine o serie de tag-uri
Label
 Label descrie o eticheta a unui graf.

29
3.5 Exemplu de reprezentare al unui graf stratifiat etichetat :
Fie graful din figura nr 1 atunci xml-ul corespunzator acestei reprezentari ar fi:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<Graf>
<Noduri>
<Nod Id="Nod1" Xcenter="152" Ycenter="142" Latura="20"></Nod>
<Nod Id="Nod2" Xcenter="412" Ycenter="111" Latura="20"></Nod>
<Nod Id="Nod3" Xcenter="616" Ycenter="205" Latura="20"></Nod>
<Nod Id="Nod4" Xcenter="211" Ycenter="293" Latura="20"></Nod>
<Nod Id="Nod5" Xcenter="482" Ycenter="295" Latura="20"></Nod>
</Noduri>
<Arce>
<Arc Id="Arc1" From="Nod5" To="Nod1">
<Labels>
<Label>
a1
</Label>
<Label>
a2
</Label>
<Label>
a3
</Label>
</Labels>
</Arc>
<Arc Id="Arc2" From="Nod4" To="Nod5">
<Labels>
<Label>
a5
</Label>
</Labels>

30
</Arc>
<Arc Id="Arc3" From="Nod5" To="Nod3">
<Labels>
<Label>
a5
</Label>
</Labels>
</Arc>
<Arc Id="Arc4" From="Nod1" To="Nod5">
<Labels>
<Label>
a4
</Label>
</Labels>
</Arc>
<Arc Id="Arc5" From="Nod2" To="Nod3">
<Labels>
<Label>
label 1
</Label>
<Label>
a6
</Label>
</Labels>
</Arc>
</Arce>
</Graf>

31
Figura 3.1

32
33

S-ar putea să vă placă și

  • Cap 3
    Cap 3
    Document7 pagini
    Cap 3
    Andrei Sandu
    Încă nu există evaluări
  • Cap4 1
    Cap4 1
    Document12 pagini
    Cap4 1
    Andrei Sandu
    Încă nu există evaluări
  • Cap 1
    Cap 1
    Document18 pagini
    Cap 1
    Andrei Sandu
    Încă nu există evaluări
  • Cap4 2
    Cap4 2
    Document15 pagini
    Cap4 2
    Andrei Sandu
    Încă nu există evaluări
  • Cap 2
    Cap 2
    Document6 pagini
    Cap 2
    Andrei Sandu
    Încă nu există evaluări
  • Aplicatie
    Aplicatie
    Document6 pagini
    Aplicatie
    Anonymous 5RjXpI
    Încă nu există evaluări
  • Teorie 1
    Teorie 1
    Document17 pagini
    Teorie 1
    Andrei Sandu
    Încă nu există evaluări
  • Licență
    Licență
    Document27 pagini
    Licență
    Andrei Sandu
    Încă nu există evaluări
  • Important A
    Important A
    Document2 pagini
    Important A
    Andrei Sandu
    Încă nu există evaluări
  • Important A
    Important A
    Document2 pagini
    Important A
    Andrei Sandu
    Încă nu există evaluări
  • XML
    XML
    Document7 pagini
    XML
    Andrei Sandu
    Încă nu există evaluări
  • Important A
    Important A
    Document2 pagini
    Important A
    Anonymous 5RjXpI
    Încă nu există evaluări
  • Descrierea Algoritmului
    Descrierea Algoritmului
    Document13 pagini
    Descrierea Algoritmului
    Anonymous 5RjXpI
    Încă nu există evaluări
  • Cap4 1
    Cap4 1
    Document12 pagini
    Cap4 1
    Andrei Sandu
    Încă nu există evaluări
  • Cap4 2
    Cap4 2
    Document15 pagini
    Cap4 2
    Andrei Sandu
    Încă nu există evaluări
  • Cap 2
    Cap 2
    Document6 pagini
    Cap 2
    Andrei Sandu
    Încă nu există evaluări
  • Cap 1
    Cap 1
    Document18 pagini
    Cap 1
    Andrei Sandu
    Încă nu există evaluări
  • Teorie 1
    Teorie 1
    Document17 pagini
    Teorie 1
    Andrei Sandu
    Încă nu există evaluări
  • Cap 3
    Cap 3
    Document7 pagini
    Cap 3
    Andrei Sandu
    Încă nu există evaluări
  • Important A
    Important A
    Document2 pagini
    Important A
    Anonymous 5RjXpI
    Încă nu există evaluări
  • Licență
    Licență
    Document27 pagini
    Licență
    Andrei Sandu
    Încă nu există evaluări
  • Teorie 1
    Teorie 1
    Document17 pagini
    Teorie 1
    Andrei Sandu
    Încă nu există evaluări
  • XML
    XML
    Document7 pagini
    XML
    Andrei Sandu
    Încă nu există evaluări
  • Descrierea Algoritmului
    Descrierea Algoritmului
    Document13 pagini
    Descrierea Algoritmului
    Anonymous 5RjXpI
    Încă nu există evaluări
  • XML
    XML
    Document7 pagini
    XML
    Andrei Sandu
    Încă nu există evaluări
  • Aplicatie
    Aplicatie
    Document6 pagini
    Aplicatie
    Anonymous 5RjXpI
    Încă nu există evaluări
  • Important A
    Important A
    Document2 pagini
    Important A
    Anonymous 5RjXpI
    Încă nu există evaluări
  • Descrierea Algoritmului
    Descrierea Algoritmului
    Document13 pagini
    Descrierea Algoritmului
    Anonymous 5RjXpI
    Încă nu există evaluări
  • Aplicatie
    Aplicatie
    Document6 pagini
    Aplicatie
    Anonymous 5RjXpI
    Încă nu există evaluări