un model de date pentru Web ga -...
Transcript of un model de date pentru Web ga -...
![Page 1: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/1.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/Dezvoltarea sistemelor Web
un model de date pentru Web
</>familia XML
Dr. Sabin Corneliu Buraga – profs.info.uaic.ro/~busaco/
![Page 2: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/2.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
„Esențialul în lumânare nu este cearace lasă urma, ci lumina.”
Antoine de Saint-Exupéry
![Page 3: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/3.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Cum modelăm (reprezentăm) datele?
![Page 4: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/4.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
datele: mai importante ca aplicațiile
Procesare(programe)
Date proprietare(baze de date, suite de birou)
Publicareadatelorpe Web (HTML)
Modelare(semi)
structurată(XML, JSON)
Modelareconceptuală(RDF, OWL)
1945—1970 2000—20031994—20001970—1994 2003—
“Data is lessimportantthan code”
“Data is asimportantas code”
“Data is moreimportantthan code”
evoluția conceptului de „dată”(adaptare după Daconta et al., 2003)
![Page 5: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/5.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
datele: mai importante ca aplicațiile
Procesare(programe)
Date proprietare(baze de date, suite de birou)
Publicareadatelorpe Web (HTML)
Modelare(semi)
structurată(XML, JSON)
Modelareconceptuală(RDF, OWL)
1945—1970 2000—20031994—20001970—1994 2003—
“Data is lessimportantthan code”
“Data is asimportantas code”
“Data is moreimportantthan code”
evoluția conceptului de „dată”(adaptare după Daconta et al., 2003)
pre-Web Web clasic Web social Web-ul datelor
open data
![Page 6: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/6.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
Ce model de reprezentare a dateloralegem pentru…
stocarea datelor eterogene ce provin din surse multiple?informații care evoluează în timp?reprezentarea limbajului natural?
![Page 7: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/7.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
Dorim să modelăm și să procesăm date privitoare la
antologii de poeziicataloage de produse ale unui e-shop
depozite de rețete gastronomicechestionare
rețele sociale…
![Page 8: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/8.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
Necesități:un limbaj de marcare explicită a informațiilor
datele dorite a fi modelate pot fi practicnelimitate (unbound) și necunoscute
nu există a-priori un vocabular/schemă comun(ă)
![Page 9: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/9.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
Necesități:datele trebuie să poată fi auto-explicative
(self-explanatory)
ce reprezintă triplul ("Sabin", "Buraga", 30374) ?
![Page 10: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/10.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
Necesități:modelul adoptat să se preteze arhitecturilor
navigaționale actuale, bazate pe hipertext
suport pentru specificarea URI-urilor
![Page 11: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/11.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
Documente:formate particulare vs. formate generice
![Page 12: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/12.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
Documente:formate particulare vs. formate generice
codificare generică (’60):procedurală – apeluri de proceduri
bazată pe marcatori (mark-ups)
![Page 13: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/13.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
GenCode – Stanley Rice, Norman Scharpf
GML (Generalized Markup Language)Charles Goldfarb et al. (IBM)
definirea formală a tipurilor de documente
SGML (Standard Generalized Markup Language)
standard ISO 8879 (1986)
![Page 14: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/14.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/preliminarii: definiții
Marcaj – adnotare, codare, mark-up
orice acțiune de a interpreta explicit o porțiune de text (conținut)
![Page 15: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/15.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/preliminarii: definiții
Marcaj – adnotare, codare, mark-up
exemple:semnele de punctuație pentru limbile scrise,
deliminatorii folosiți în codul-sursă
![Page 16: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/16.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
marcajespeciale
![Page 17: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/17.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/preliminarii: definiții
Limbaj de specificare (de adnotare, de marcare)set de convenții de marcare
utilizate pentru codificarea datelor
![Page 18: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/18.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/preliminarii: definiții
Limbaj de specificare (de adnotare, de marcare)set de convenții de marcare
utilizate pentru codificarea datelor
definește mulțimea de marcaje obligatorii,modul de identificare și de structurare a marcajelor
pe baza unei/unor specificații (i.e. gramatici)
![Page 19: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/19.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml
Extensible Markup Language
meta-limbaj de marcare
descendent simplificat al SGML destinatutilizării în Internet (1996—prezent)
![Page 20: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/20.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml
Extensible Markup Language
standard W3C (1998, 2000, 2004, 2006, 2008)
www.w3.org/TR/xml/
Tim Bray, XML is 20, februarie 2018www.xml.com/articles/2018/02/10/xml-20/
![Page 21: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/21.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml
Extensible Markup Language
o tehnologie+
o familie de limbaje
![Page 22: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/22.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml
www.w3.org/standards/xml/
![Page 23: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/23.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: caracterizare
Marcaje descriptive
<para> <img /> <response> <Person> <tag>
case sensitive
![Page 24: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/24.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: caracterizare
Tipuri de documente
Document Type Definition (DTD)
specificare formală a tipurilor de documente(constituienți + structură)
folosește la verificarea corectitudinii sintactice
![Page 25: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/25.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: caracterizare
Independența datelor
suport pe orice platformă hardware/software
extinderea marcajelor
translatarea/transformarea documentelor
![Page 26: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/26.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: trăsături
Ușor de implementat, cu suport pentru Web
procesoare XML disponibile pentru toate limbajele de programare
![Page 27: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/27.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: trăsături
Suport pentru utilizarea internațională
folosirea Unicode
independent de codificare/limbă
![Page 28: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/28.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: trăsături
Meta-limbaj
definire de alte limbaje
portabil
![Page 29: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/29.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: trăsături
Soluție pentru reprezentarea conținutuluiresurselor Web identificate de URI/IRI
asigurarea inter-operabilității (lingua franca)
documents are data
![Page 30: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/30.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: constituienți
Prolog (preambul)ElementeAtributeEntități
Secțiuni de marcareInstrucțiuni de procesare
![Page 31: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/31.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: prolog
Declarație care specifică versiuneași codificarea documentului
<?xml version="1.0"
encoding="UTF-8"
?>
![Page 32: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/32.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: prolog
Declarație care specifică versiuneași codificarea documentului
<?xml version="1.0"
encoding="UTF-8"
?>
atributobligatoriu
atributopțional
trebuie să apară o singură dată la începutul documentului
![Page 33: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/33.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: elemente
Element = componentă structurală (unitate-text)
![Page 34: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/34.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: elemente
Element = componentă structurală (unitate-text)
nume – identifică un element
sintaxă similară cu cea a identificatorilor de variabile
produs
![Page 35: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/35.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: elemente
Sintactic, un element este specificatvia marcatori (tag-uri) – de început și de sfârșit
<produs>Ping Uinix</produs>
![Page 36: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/36.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: elemente
Case sensitive
<marcaj> <Marcaj> <MARCAJ>
![Page 37: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/37.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: elemente
Un element poate avea conținut vid
<produs></produs>
<produs />
![Page 38: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/38.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: elemente
Un element poate avea conținut vid
<!-- exemplu concret: JSX (folosit de React.js) -->
<Form>
<Form.Row>
<Form.Label />
<Form.Input />
</Form.Row>
</Form>
facebook.github.io/jsx/
![Page 39: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/39.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: modele ale conținutului
Model structural
desemnează relațiile dintre elemente: secvență, ierarhie, grupare, incluziune
![Page 40: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/40.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: modele ale conținutului
Elemente imbricate în alte elemente(pot conține date textuale și/sau alte elemente)
<produs>
Ping Uinix este o mascotă
<obs>policromă</obs>
care se vinde
<obs>foarte rapid</obs>.
</produs>
![Page 41: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/41.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: modele ale conținutului
Elemente imbricate în alte elemente(pot conține date textuale și/sau alte elemente)
<!-- marcaje HTML5 respectând convențiile XML --><article>
<section><ul>
<li>Oportunitate:<strong>The Internet Bug Bounty</strong>
</li></ul>
</section></article>
![Page 42: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/42.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: modele ale conținutului
Elementele trebuie să fie închiseși să se împerecheze corect
<div><q>We don't need no education</div></q>
greșit!
![Page 43: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/43.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<?xml version="1.0" ?><antologie>
<poem><titlu>...</titlu><strofa>
<vers>…</vers><vers>…</vers>…
</strofa> </poem><poem>
<titlu /></poem><poem>
<!-- mai multe poeme… --></poem>
</antologie>
preambul
document XML modelând o antologie
de poezii
![Page 44: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/44.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<?xml version="1.0" encoding="UTF-8"?><produse>
<produs><nume>Ping Uinix</nume><ofertant>http://www.pinguin.info</ofertant><promo>Mascota lunii</promo>
</produs> <produs>
<!-- un soi de portocale albastre --><nume>Blue Ory</nume><descriere />
</produs><produs>
<nume>⌚ cu gust de 🍎</nume></produs>
</produse>
un posibil catalog de produse în cadrul unui e-shop
date semi-structurate
flexibilitate
![Page 45: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/45.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: atribute
Atributdescrie o anumită proprietate (caracteristică)
a unei apariții particulare a unui element
![Page 46: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/46.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: atribute
Atributele apar doar în marcajul de început
<antologie stare= "ciorna" data="2019-10-29">
...
</antologie>
<student matricol="TuPi33">
<nume initiala= "I">Tuxy Pinguinescu</nume>
</student>
![Page 47: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/47.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: atribute
Atributele pot fi specificate în orice ordine
<Button text="Ok" id="@+id/un_buton" />
≡<Button id="@+id/un_buton" text="Ok" />
![Page 48: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/48.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: atribute
Numele atributelor este case sensitive
<img src="..." />
<img SRC="..." />
![Page 49: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/49.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: atribute
Valorile atributelor trebuie să fie delimitateobligatoriu de ghilimele sau apostrofuri
atributele fără valoare nu sunt acceptate
![Page 50: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/50.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: atribute
<form action=procesare.php method="GET'>
<label for=căutare">Caută:</label>
<input default type=search placeholder= /></form>
eronat!
![Page 51: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/51.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<game> <title>Angry Profs</title><platform type="tablet">Android</platform><platform min-version="9" type="tablet">iOS</platform><platform min-version="10">Windows</platform><url>…</url><player>
<identity> <first-name>Sabin</first-name><last-name>Buraga</last-name><!-- eventual, și alte informații -->
</identity> <points>30374</points>…
</player></game>
date XML referitoare la un joc electronic
![Page 52: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/52.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
codebeautify.org/online-xml-editor
vizualizarea structurii ierarhice a datelor XML
![Page 53: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/53.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: exemplu
Modelarea datelor (de la implicit la explicit)
intenție: specificarea preferințelor vizând navigarea pe Web
<preferences
theme="Default"
resolution="2560x1440"
browser="Firefox 70"
/>
![Page 54: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/54.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: exemplu
Modelarea datelor (de la implicit la explicit)
<preferences
theme="Default"
resolution="2560x1440"
browser="Firefox 70"
/>
conventii de reprezentarece nu pot fi deduse explicit
Întrebări:Dacă există mai multe teme vizuale preferate?
Care e unitatea de măsură a rezoluției?Dacă trebuie stocată o listă de navigatoare?
![Page 55: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/55.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: exemplu
<preferences last-update="2019-10-29T16:27:03+02:00">
<theme>Default</theme>
<resolution orientation="landscape">
<width unit="px">2560</width>
<height unit="px">1440</height>
</resolution>
<browser version="70"
url="http://getfirefox.com/" lang="en-US"
platform="Ubuntu Linux" architecture="64">
Firefox
</browser>
</preferences> O soluție mai bună(sunt precizate și diverse meta-date utile)
![Page 56: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/56.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: referințe la entități
Scop: codificare și referentiere a unei părți de document
sintaxă: &identificator;
sau
&#număr;
![Page 57: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/57.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: referințe la entități
Entități predefinite – similare celor de la HTML:
< (<) > (>) & (&) " (")
Entități (referințe) de tip caracter:
  (non-breaking space – pentru HTML)
ă („ă” – setul de caractere ISO-8859-2 și UTF)
❀ (simbolul „❀” – Unicode)
![Page 58: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/58.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: secțiuni
Anumite părți din documente necesităprocesări speciale
CDATA – inhibă procesarea XML
![Page 59: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/59.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<script type="application/javascript">
if (vizite < 10) { // nu e vizitator fidel
$("#mesaj").html ("<p>Salut!</p>");
}
</script>
xml: secțiuni
XML Parsing Error: not well-formedLine Number 3, Column 13
![Page 60: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/60.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<script type="application/javascript">
/*<![CDATA[*/
if (vizite < 10) { // nu e vizitator fidel
$("#mesaj").html ("<p>Salut!</p>");
}
/*]]>*/
</script>
xml: secțiuni
procesorul XML nu va interpreta sintaxa codului JavaScript
![Page 61: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/61.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: instrucțiuni de procesare
Includ informații privitoare la aplicațiile (externe)care urmează a fi executate
pentru procesarea conținutului
<?processing-instruction ... ?>
![Page 62: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/62.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: instrucțiuni de procesare
<script>
<?php
echo "<p>Salut!\n</p>";
?>
</script>
procesorul XML ar putea invoca interpretorul PHP pentru execuția programului
![Page 63: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/63.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: instrucțiuni de procesare
Exemplificare:
asocierea unei foi de stiluri CSS pentru redareaconținutului unui document XML
<?xml-stylesheet type="text/css" href="stiluri.css" ?>
![Page 64: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/64.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: procesarea spațiilor
Spațiile albe – e.g., spațiu, TAB, caracterele NL (New Line) sau CR (Carriage Return) – nu au nicio semnificație
<VisualAsset id="obiectObservabil">
<enabled>true</enabled>
<zOrder>0</zOrder>
<Orientation>
<roll>90</roll>
<tilt>90</tilt>
<heading>90</heading>
</Orientation>
</VisualAsset>
<VisualAsset id="obiectObservabil">
<enabled>true</enabled><zOrder>0
</zOrder><Orientation><roll>90</roll>
<tilt>90</tilt><heading>90</heading>
</Orientation></VisualAsset>
≡
marcaje ARML (Augmented Reality Markup Language)
![Page 65: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/65.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: familia
XML (Extensible Markup Language)sintaxa
XML Information Set – Infosetmodelul (abstract) de date XML
XLL (Extensible Linking Language)XLink – legături între documenteXPointer – localizare relativă a resurselor
XSL (Extensible Stylesheet Language)transformări și formatări: XSLT + XSL-FO
XQuery (împreună cu XPath)interogarea datelor XML
![Page 66: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/66.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Structurarea/formatarea conținutului(formate de prezentare a datelor)
în navigatorul Web: (X)HTML (Extensible HTML), HTML5www.w3.org/TR/html/
formulare electronice: XFormswww.w3.org/TR/xforms/
![Page 67: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/67.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Structurarea/formatarea conținutului(formate de prezentare a datelor)
grafică vectorială: SVG (Scalable Vector Graphics)www.w3.org/Graphics/SVG/
lumi tridimensionale: X3D (Extensible 3D Graphics)www.web3d.org
![Page 68: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/68.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Reprezentarea diferitelor tipuri de conținut
expresii matematice: MathMLwww.w3.org/Math/
date multimedia sincronizate:SMIL (Synchronized Multimedia Integration Language)
www.w3.org/TR/SMIL/
![Page 69: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/69.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Reprezentarea diferitelor tipuri de conținut
informații vocale: VoiceXMLwww.voicexml.org
informații cartografice: KML (Keyhole Markup Language)developers.google.com/kml/
date hidrologice: WaterMLwww.opengeospatial.org
![Page 70: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/70.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Reprezentarea diferitelor tipuri de conținut
componente ale interfeței-utilizator: FXML (JavaFX)
github.com/mhrimaz/AwesomeJavaFX
Glade XML pentru GTK+ (GNOME)glade.gnome.org
XAML (Extensible Application Markup Language)docs.microsoft.com/en-us/windows/uwp/xaml-platform/
XUL (Extensible User-interface Language) developer.mozilla.org/docs/Mozilla/Tech/XUL
![Page 71: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/71.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Reprezentarea diferitelor tipuri de conținut
documentații: DocBook (Documentation Book)docbook.org
informații prelucrate de suite de birou – e.g., Open Office:ODF (Open Document Format)
docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html
![Page 72: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/72.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Reprezentarea diferitelor tipuri de conținut
mediatizare (Web syndication) – fluxuri de știri:RSS (Really Simple Syndication)
www.rssboard.org/rss-specification
Atom Syndication Formattools.ietf.org/html/rfc4287
publicații electronice (e-books): EPUBidpf.org/epub/
![Page 73: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/73.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Reprezentarea diferitelor tipuri de conținut
informații medicale (EHR – Electronic Health Records)HL7: www.hl7.org/implement/standards/
afaceri electroniceFpML–Financial products Markup Language: www.fpml.org
informații guvernamentaleNIEM–National Information Exchange Model: niem.github.io
![Page 74: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/74.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate
Descrierea serviciilor Web
serializarea datelor transmise conform RPC:XML-RPC (XML Remote Procedure Calls)
descrierea serviciilor:WSDL (Web Service Description Language)exprimarea protocolului de transfer: SOAP
modelarea proceselor de afaceri via servicii Web:BPEL4WS
(Business Process Execution Language for Web Services)
într-un curs viitor
![Page 75: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/75.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: aplicabilitate – alte domenii
BeerXMLBDML (Biological Dynamics Markup Language)
CAP (Common Alerting Protocol)CML (Chemical Markup Language)
COLLADA (COLLAborative Design Activity)DFXML (Digital Forensics XML)
GPX (GPS Exchange Format)MEI (Music Encoding Initiative)
RTML (Remote Telescope Markup Language)SSML (Speech Synthesis Markup Language)
STAR (Standards for Technology in Automotive Retail)TEI (Text Encoding Initiative)
![Page 76: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/76.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Așadar, până la urmă, ce este XML?
![Page 77: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/77.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: privire de ansamblu
XML – principiu unificator al tehnologiilor de:procesare a documentelor
stocare și procesare tradițională a dateloracces la Internet (Web)
detalii în cartea S. Buraga, Tehnologii XML, Polirom, 2006www.slideshare.net/busaco/sabin-buraga-tehnologii-xml
![Page 78: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/78.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: privire de ansamblu
XML se pretează pentru stocarea (reprezentarea) datelor semi-structurate
sistemele tradiționale (e.g., baze de date relaționale)necesită specificarea unei scheme rigide
în vederea stocării/accesării datelor
punct de vedereîn general centralizat
![Page 79: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/79.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: privire de ansamblu
XML se pretează pentru stocarea (reprezentarea) datelor semi-structurate
datele de pe Web sunt descentralizate, eterogene și pot fi,deseori, accesate – chiar modificate – de către oricine
resursele disponibile la un moment datnu sunt a-priori cunoscute
![Page 80: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/80.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: direcții importante
Comunicații/interacțiune
person-to-person – instant messagingXMPP (Extensible Messaging and Presence Protocol)
xmpp.org
person-to-computer – syndicationformatele RSS și Atom
computer-to-computer – servicii Webmash-up-uri
![Page 81: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/81.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: direcții importante
Publicare deschisă a datelor
modelare (semi-)structurată
procesare independentă de platforma/limbaj
prezentări multiple ale conținutului,în diverse formate și pe sisteme eterogene
interschimb de date (EDI – Electronic Data Interchange)
![Page 82: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/82.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: direcții importante
Căutare și regăsire – knowledge retrieval
meta-datetagging
navigarefiltrare
import/export de dateinter-operabilitate...
în contextul aplicațiilor Web sociale
![Page 83: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/83.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: direcții importante
Modelarea proceselor (de afaceri, mai ales)
dataflowworkflow
XProc – specifică operațiile ce pot fi realizate asupra documentelor XML
www.w3.org/TR/xproc/
www.data2type.de/en/xml-xslt-xslfo/xproc/
![Page 84: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/84.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: instrumente
Analizoare (procesoare, parsers)Apache Xerces, Expat, libxml, MSXML,…
Vizualizatoare și editoare structuralebrowser Web, Open Office, <oXygen/>, MS Visual Studio
Formatatoare – e.g., procesoare XSLT/XSL-FOAH Formatter, FOP, Saxon, Xalan, XEP
Sisteme de gestiune a bazelor de date XMLBaseX, eXistdb, MarkLogic
![Page 85: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/85.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Dacă alegem nume de marcatori/atribute
deja definite de alte limbaje XML?
![Page 86: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/86.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume
<event uri="https://stagiipebune.ro/">
<name xml:lang="ro">Stagii pe Bune</name>
<year>2019</year>
</event>
<participant>
<name uri="mailto:[email protected]">
Tuxy Pinguinnesscool</name>
<year kind="Bachelor">2</year>
</participant>
![Page 87: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/87.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume
<event uri="https://stagiipebune.ro/">
<name xml:lang="ro">Stagii pe Bune</name>
<year>2019</year>
</event>
<participant>
<name uri="mailto:[email protected]">
Tuxy Pinguinnesscool</name>
<year kind="Bachelor">2</year>
</participant>
?conflict!
![Page 88: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/88.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume
Spațiu de nume
desemnează un vocabular utilizatpentru calificarea – în mod unic –
a elementelor/atributelor XML
![Page 89: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/89.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume
Vocabularul definit – colecție de numede elemente și attribute, plus maniera lor de
structurare – poate fi desemnat de un URI
![Page 90: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/90.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume
Vocabularul definit poate fi desemnat de un URI
atributul xmlns specifică acest URI, atașând opțional un identificator unic
fiecărui vocabular folosit
specificație W3C (2009): www.w3.org/TR/xml-names/
![Page 91: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/91.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<?xml version="1.0"?>
<c:calendars xmlns:c="http://www.calendar.info">
<e:participant xmlns:s="http://www.info.uaic.ro/Students/"
xmlns:e="http://www.info.uaic.ro/Events/">
<s:name>Tuxy Pinguinnescool</s:name>
<s:year s:kind="Bachelor">2</s:year>
<c:calendar>
<e:event xml:id="SpB">
<e:name xml:lang="ro">Stagii pe Bune</e:name>
<e:year>2019</e:year>
</e:event>
<e:event xml:id="GSoC" />
</c:calendar>
</e:participant>
</c:calendars>
fără conflicte!
de studiat exemplele din arhiva asociată acestei prezentări
![Page 92: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/92.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume – exemple
Vocabularul XHTML/HTML5: http://www.w3.org/1999/xhtml
Vocabularul modelului conceptual oferit de DBpedia:http://dbpedia.org/ontology/
Vocabularul documentelor XML Sitemaps:http://www.sitemaps.org/schemas/sitemap/0.9
Vocabularul tipurilor de date XML Schema:http://www.w3.org/2001/XMLSchema
![Page 93: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/93.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume
Studiu de caz:includerea în documentele HTML
a unor construcții provenite din alte limbaje XML
exemplificare: SVG (Scalable Vector Graphics)
www.w3.org/TR/SVG/
developer.mozilla.org/docs/Web/SVG
github.com/willianjusten/awesome-svg
![Page 94: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/94.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><title>HTML + SVG</title></head><body><h1>SVG într-o pagină Web</h1>
<!-- Elemente și atribute SVG specificate în documentul HTML, recunoscute pe baza spațiului de nume SVG -->
<svg width="500" height="200" xmlns="http://www.w3.org/2000/svg"><!-- o zonă rectangulară cu colțuri rotunjite --><rect x="50" y="50" rx="7" ry="7" width="450" height="150"
style="fill: #00CCEE; stroke: #3333CC;"/><!-- conținut textual --><text x="70" y="90" style="stroke: black; fill: gray; font-size: 32pt;">
SVG direct în browser...</text><!-- un cerc galben --><circle cx="400" cy="150" r="33" style="fill: yellow;" />
</svg>
<p>De utilizat un navigator Web oferind suport nativ pentru SVG.</p></body>
</html>
![Page 95: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/95.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
vizualizarea în navigatorul Web a ilustrației SVG via instrumentul JS Bin
![Page 96: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/96.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
redarea conținutului grafic vectorial SVG
Firefoxla nivel de desktop
(Windows 10)
Safari pe platforma mobilă iOS 12 (iPhone)
![Page 97: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/97.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="8cm" height="3cm">
<title>Grafică vectorială cu SVG</title><defs>
<!-- definim un dégradé (gradient) liniar --><linearGradient id="aGradient">
<stop offset="33%" stop-color="#ADA" /><stop offset="74%" stop-color="#369" />
</linearGradient><rect id="aRectangle" width="15px" height="15px" rx="2" ry="2" fill="green" /><!-- o cale de redare --><path id="aPath" d="M15 50 C10 0 90 0 90 40" /><!-- un filtru cromatic --> <filter id="visualFilter"><feColorMatrix in="SourceGraphic" type="matrix"
values="0 0 0 0 01 0 1 1 00 1 1 0 00 0 0 1 0" />
</filter></defs>
C. Bulancea & S. Buraga (2004, 2014)
comenzi grafice(e.g., M=mută, C=cerc)
aplicarea unui filtruwww.w3.org/TR/SVG/filters.html
![Page 98: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/98.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<!-- o formă rectangulară umplută cu dégradé-ul definit anterior --><rect x="1cm" y="1cm" width="6cm" height="1cm" round="1em"
fill="url(#aGradient)" />
<!-- folosim 4 instanțe ale pătratului definit, plasate la diverse coordonate și având diverse proprietăți grafice -->
<use x="40" y="40" xlink:href="#aRectangle" /><use x="100" y="80" xlink:href="#aRectangle" filter="url(#visualFilter)" /><use x="160" y="80" xlink:href="#aRectangle" fill-opacity="0.33" /><use x="220" y="80" xlink:href="#aRectangle" />
<!-- un text redat conform căii specificate --><text fill="red">
<!-- de studiat și http://www.w3.org/TR/SVG/fonts.html --><textPath xlink:href="#aPath">❤ Web ★</textPath>
</text></svg>
C. Bulancea & S. Buraga (2004, 2014)
![Page 99: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/99.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
Cum verificăm corectitudinea datelor XML?
![Page 100: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/100.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesități
Dorim ca datele modelate via XMLsă poată fi regăsite, reutilizate și partajate
între aplicații
![Page 101: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/101.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesități
O cerință importantă este de a cunoaște:
elementele/atributele ce pot fi specificate+
modul lor de structuraree.g., ordinea, numărul minim/maxim de apariții,...
![Page 102: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/102.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesități
O cerință importantă este de a cunoaște:
tipul conținutului
exemplu: „atributul align poate avea valorilemutual exclusive left, right, center”
![Page 103: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/103.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
necesități
O cerință importantă este de a cunoaște:
ce poate fi considerat valid și ce reprezintă eroare
exemplificare: elementul <img> are conținut vid
(nu va putea include alte elemente)
![Page 104: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/104.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
soluție
Grupuri de indivizi specifică vocabularul XML(setul de elemente/atribute permise)
și regulile de marcare – modelele structurale
![Page 105: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/105.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
soluție
Grupuri de indivizi specifică vocabularul XML(setul de elemente/atribute permise)
și regulile de marcare – modelele structurale
uzual, grupurile reprezintă: o companie, o industrie, persoane împărtășind
interese comune,dezvoltatori de instrumente de marcare,
un consorțiu/organizație non-profit
![Page 106: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/106.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
soluție
Modelul structural se aplică unei clase dedocumente XML, în vederea verificării
– via un analizor (procesor, parser XML) –a corectitudinii instanțelor de documente
aparținând acelei clase
![Page 107: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/107.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
soluție
Aspecte de interes:
numirea elementelor/atributelordefinirea regulilor de utilizare a acestora
specificarea structurii și conținutuluidefinirea constrângerilor
oferirea unui set de convenții de numire
![Page 108: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/108.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
soluție
Apare necesitatea specificăriiunui set de constrângeri asociate documentelor
XML, astfel încât datele XML să fie verificatedaca sunt valide sau nu din punct de vedere
structural ori al tipului conținutului
![Page 109: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/109.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
soluție
Modalitățile de specificare a constrângerilorse pot baza pe:
descrieriDTD, XML Schema
reguliSchematron
șabloaneRELAX NG
![Page 110: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/110.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd
Tipuri de documenteDocument Type Definition (DTD)
specificare formală a tipurilor de documente(constituienți + structură)
![Page 111: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/111.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd
Documentele XML pot avea sau nu un DTD atașat
intern sau extern documentului XML pe care-l validează
![Page 112: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/112.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd
Dacă DTD-ul lipsește, documentul trebuiesă respecte un număr minim de constrângeri
document bine formatat (well formed)
![Page 113: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/113.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd
Regulile sintactice de specificarea meta-elementelor DTD provin de la SGML
DTD-ul poate exprima structura conținutului, indicatorii de apariție, conectorii
detalii în specificația XML: www.w3.org/TR/REC-xml
![Page 114: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/114.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd
Un DTD specifică un tip de document:
<!DOCTYPE element_rădăcină [
declarații de elemente, atribute, entități,...
]>
![Page 115: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/115.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd
Un DTD specifică un tip de document:
<!DOCTYPE element_rădăcină [
declarații de elemente, atribute, entități,...
]>
<!DOCTYPE projects [
...
]>
exemplu:lista proiectelor
![Page 116: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/116.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: elemente
<!ELEMENT projects (project+)>
<!ELEMENT project (title, desc?, stud, url*)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT desc (#PCDATA)>
<!ELEMENT stud (#PCDATA)>
<!ELEMENT url (#PCDATA)>
meta-element
nume de element
(neterminal)
conținut (neterminali / terminali)#PCDATA, EMPTY, ANY
* + ? indicatori de apariție, | conectori
![Page 117: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/117.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: elemente
Conținutul unui element poate fi:
șir de caractere (#PCDATA – parsed character data)
vid (EMPTY)
orice alt marcaj/șir de caractere (ANY)
![Page 118: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/118.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: elemente
Un element poate apărea:
o singură dată – numele elementului
de oricâte ori, inclusiv niciodată (*)
măcar o dată (+)
de zero sau unu ori (?)
![Page 119: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/119.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: elemente
Ordinea apariției elementelor:
secvență (,)
alternativă (|)
![Page 120: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/120.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: atribute
<!ATTLIST projectsupdate CDATA #REQUIRED
><!ATTLIST project
class (M | B) "M">
tipul conținutului CDATA, ID, ENTITY,...enumerare de valori
elementul căruia îi este asociat
mod de apariție#REQUIRED
#IMPLIED#FIXED
![Page 121: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/121.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: atribute
Conținutul unui atribut poate fi:
șir de caractere (CDATA – character data)
identificator unic (ID)
referință la un identificator (IDREF)
referință la o entitate (ENTITY)
enumerare de valori
![Page 122: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/122.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: atribute
Un atribut poate fi declarat să apară:
obligatoriu (#REQUIRED)
opțional (#IMPLIED)
fix – se folosește o valoare a-priori stabilită (#FIXED)
![Page 123: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/123.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<!ELEMENT html (head, body)><!ATTLIST html
id ID #IMPLIED xmlns CDATA #FIXED 'http://www.w3.org/1999/xhtml'>
<!ELEMENT img EMPTY><!ATTLIST img
src CDATA #REQUIRED alt CDATA #REQUIRED height CDATA #IMPLIED width CDATA #IMPLIED>
<!ELEMENT table (caption?, (col* | colgroup*), thead?, tfoot?, (tbody+ | tr+))>
<!ELEMENT caption #PCDATA><!ELEMENT thead (tr)+><!ELEMENT tfoot (tr)+><!ELEMENT tbody (tr)+><!ELEMENT colgroup (col)*><!ELEMENT col EMPTY><!ELEMENT tr (th | td)+>…
fragment din DTD-ulspecificând gramatica
limbajului HTML
![Page 124: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/124.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare
O instanță de document trebuie să aibă atașatăo declarație a tipului căruia îi aparține:
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!DOCTYPE projects SYSTEM "projects.dtd">
![Page 125: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/125.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare
Validarea documentului se realizeazăprin intermediul unui utilitar
(exemple: OpenSP, <oXygen/>, xmllint,…)sau analizor – procesor, parser – XML (Apache Xerces, libxml, MSXML etc.)
apelat din linia de comandă sau invocat prin program
![Page 126: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/126.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare
validarea unui document XML cu utilitarul xmllint
<projects>
<project class="D">
<title>Super</title>
<title/>
<desc>Un super proiect!</desc>
<stud atribut="suplimentar">
1
</stud>
<url>http://www.super.ro/</url>
</project>
</projects>
> xmllint projects-dtd.xml --valid
projects-dtd.xml:32: element project: validity error :
Value "D" for attribute class of project is not among
the enumerated set
<project class="D">
^
projects-dtd.xml:36: element stud: validity error :
No declaration for attribute atribut of element stud
<stud atribut="suplimentar">1</stud>
^
projects-dtd.xml:38: element project: validity error :
Element project content does not follow the DTD,
expecting (title , desc? , stud , url?),
got (title title desc stud url )
</project>
^
![Page 127: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/127.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<!DOCTYPE contents SYSTEM "contents.dtd"><contents title="A Web book" year="2017">
<coordinator>&busaco;</coordinator>…
</contents>
<!ELEMENT contents (coordinator?, chapter+)><!ELEMENT coordinator ANY><!ELEMENT chapter (name, author*, desc?)><!ELEMENT name (#PCDATA)><!ELEMENT author (#PCDATA)><!ELEMENT desc (#PCDATA)>
<!-- declararea unei entități (cu utilizarea entităților predefinite) --><!ENTITY busaco "Sabin Buraga <[email protected]>">
<!ATTLIST contentstitle CDATA #REQUIRED publisher CDATA #IMPLIED year (2004|2005|2007|2009) "2007">
<!ATTLIST chapternumber CDATA #REQUIRED>
<!ATTLIST author email CDATA #IMPLIED>
![Page 128: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/128.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare
raportarea erorilor de validare XMLVisual Studio 2017 recurgând la biblioteca MSXML
![Page 129: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/129.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare
validarea unui document XML via <oXygen /> XML Editor pe baza Apache Xerces
![Page 130: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/130.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare
validarea paginilor Web pe baza DTD-urilor corespunzătoare versiunilor HTML – validator.w3.org
![Page 131: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/131.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare – php
În cazul PHP, se folosește metoda DOMDocument::validate()
www.php.net/DOMDocument.validate
![Page 132: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/132.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare – php
// Funcție de validare a unui document XMLfunction valideazaXML ($tipValidare, $xml, $specificatie = '') {
try { // Încărcăm un document $xml...
$doc = @DOMDocument::load ($xml); // și încercăm să-l validăm folosind $specificatie, // conform unui tip de validare dat de $tipValidareswitch ($tipValidare) {
case 'DTD': return $doc->validate (); case 'XSD': return $doc->schemaValidate ($specificatie); case 'RNG': return $doc->relaxNGValidate ($specificatie); default: return FALSE;
} } catch (Exception $e) {
echo 'A aparut o exceptie la validarea documentului XML :( ' . $e->getMessage ();
} }
![Page 133: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/133.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
dtd: validare – php// validăm un document conform unui DTD internecho '<p>Documentul privind proiectele este ' .
(valideazaXML ('DTD', 'projects/projects-dtd.xml') ? 'valid' : 'invalid') . ' conform DTD-ului intern.</p>';
// validăm un document conform unui DTD externecho '<p>Documentul privind cuprinsul este ' .
(valideazaXML ('DTD', 'cuprins/cuprins-dtd.xml') ? 'valid' : 'invalid') . ' conform DTD-ului.</p>';
![Page 134: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/134.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/rezumat
modelarea datelor prin XML
</>caracterizare & constituienți, utilizări,
spații de nume XML, validarea datelor XML
![Page 135: un model de date pentru Web ga - profs.info.uaic.robusaco/teach/courses/websys/presentations/... · antologii de poezii cataloage de produse ale unui e-shop depozite de](https://reader030.fdocument.pub/reader030/viewer/2022040712/5e157266306b447e98682886/html5/thumbnails/135.jpg)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
episodul viitor: procesarea documentelor XML/HTML
procesorprogram
🗎date XML
HTML
API XML
arbore DOM