Upload
alexspiridon
View
217
Download
0
Embed Size (px)
Citation preview
8/19/2019 web06ModelareXML-FamiliaXML
1/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a
c o /
Tehnologii Web
un model de date pentru Web (I)
familia XML
8/19/2019 web06ModelareXML-FamiliaXML
2/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a
c o /
„Esenț ialul în lumânare nu este ceara
ce lasă urma, ci lumina.”
Antoine de Saint-Exupéry
8/19/2019 web06ModelareXML-FamiliaXML
3/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a
c o /
Cum modelăm (reprezent ăm) datele?
8/19/2019 web06ModelareXML-FamiliaXML
4/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a
c o /
datele: mai importante ca aplicațiile
Procesare
(programe)
Date proprietare
(baze de date,
suite de birou)
Publicarea
datelor
pe Web(HTML)
Modelare
(semi)
structurat ă
(XML, JSON)
Modelare
conceptuală
(RDF, OWL)
1945—1970 2000—20031994—20001970—1994 2003—
“Data is
less
important
than code”
“Data is
as
important
as code”
“Data is
more
important
than code”
evoluț ia conceptului de „dat ă”(adaptare după Daconta et al., 2003)
8/19/2019 web06ModelareXML-FamiliaXML
5/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a
c o /
datele: mai importante ca aplicațiile
Procesare
(programe)
Date proprietare
(baze de date,
suite de birou)
Publicarea
datelor
pe Web(HTML)
Modelare
(semi)
structurat ă
(XML, JSON)
Modelare
conceptuală
(RDF, OWL)
1945—1970 2000—20031994—20001970—1994 2003—
“Data is
less
important
than code”
“Data is
as
important
as code”
“Data is
more
important
than code”
evoluț ia conceptului de „dat ă”(adaptare după Daconta et al., 2003)
pre-Web Web clasic Web social Web-ul datelor
open data
8/19/2019 web06ModelareXML-FamiliaXML
6/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a
c o /
preliminarii
Ce model de reprezentare a datelor
alegem pentru…
stocarea datelor eterogene ce provin din surse multiple?
informaț ii care evoluează în timp?
reprezentarea limbajului natural?
8/19/2019 web06ModelareXML-FamiliaXML
7/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a
c o /
preliminarii
Dorim să modelăm și să procesăm date
privitoare la
antologii de poezii
cataloage de produse ale unui e-shop
depozite de reț ete gastronomice
chestionare
reț ele sociale
…
8/19/2019 web06ModelareXML-FamiliaXML
8/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a
c o /
preliminarii
Necesit ăț i:
un limbaj de marcare explicit ă a informaț iilor
datele dorite a fi modelate pot fi practic
nelimitate (unbound ) și necunoscute
nu exist ă a-priori un vocabular/schemă comun(ă)
8/19/2019 web06ModelareXML-FamiliaXML
9/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a
c o /
preliminarii
Necesit ăț i:
datele trebuie să poat ă fi auto-explicative(self-explanatory )
ce reprezint ă triplul ("Sabin", "Buraga", 30374) ?
8/19/2019 web06ModelareXML-FamiliaXML
10/95
D r . S a b i n
B u r a g a
p r o f s . i
n f o . u a i c . r o / ~ b u s a c o /
preliminarii
Necesit ăț i:
modelul adoptat să se preteze arhitecturilornavigaț ionale actuale, bazate pe hipertext
suport pentru specificarea URI-urilor
8/19/2019 web06ModelareXML-FamiliaXML
11/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
preliminarii
Documente:
formate particulare vs. formate generice
8/19/2019 web06ModelareXML-FamiliaXML
12/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
preliminarii
Documente:
formate particulare vs. formate generice
codificare generică (’ 60):
procedurală – apeluri de proceduribazat ă pe marcatori (mark-ups)
8/19/2019 web06ModelareXML-FamiliaXML
13/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
preliminarii
GenCode – Stanley Rice, Norman Scharpf
GML (Generalized Markup Language)
Charles Goldfarb et al. (IBM)
definirea formală a tipurilor de documente
SGML (1986) – standard ISO 8879
8/19/2019 web06ModelareXML-FamiliaXML
14/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
preliminarii: definiții
Marcaj – adnotare, codare, mark-up
orice acț iune de a interpreta explicit
o porț iune de text (conț inut)
8/19/2019 web06ModelareXML-FamiliaXML
15/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
preliminarii: definiții
Marcaj – adnotare, codare, mark-up
exemple:
semnele de punctuaț ie pentru limbile scrise,
deliminatorii folosiț i în codul-sursă
8/19/2019 web06ModelareXML-FamiliaXML
16/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
marcaje
speciale
8/19/2019 web06ModelareXML-FamiliaXML
17/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
preliminarii: definiții
Limbaj de specificare (de adnotare, de marcare)
set de convenț ii de marcare
utilizate pentru codificarea datelor
8/19/2019 web06ModelareXML-FamiliaXML
18/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
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 gramatici
8/19/2019 web06ModelareXML-FamiliaXML
19/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
xml
Extensible Markup Language
meta-limbaj de marcare
descendent simplificat al SGML destinat utilizării în Internet (1996—prezent )
8/19/2019 web06ModelareXML-FamiliaXML
20/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
xml
Extensible Markup Language
standard W3C (1998, 2000, 2004, 2006, 2008)
http://www.w3.org/TR/xml/
8/19/2019 web06ModelareXML-FamiliaXML
21/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
xml
Extensible Markup Language
o tehnologie+
o familie de limbaje
8/19/2019 web06ModelareXML-FamiliaXML
22/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
xml
www.w3.org/standards/xml/
8/19/2019 web06ModelareXML-FamiliaXML
23/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
xml: caracterizare
Marcaje descriptive
case sensitive
8/19/2019 web06ModelareXML-FamiliaXML
24/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s a c o /
xml: caracterizare
Tipuri de documente
Document Type Definition (DTD)
specificare formală a tipurilor de documente
(constituienț i + structură)
folosește la verificarea corectitudinii sintactice
detalii în
alt curs
8/19/2019 web06ModelareXML-FamiliaXML
25/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: caracterizare
Independenț a datelor
suport pe orice platformă hardware/software
extinderea marcajelor
translatarea/transformarea documentelor
8/19/2019 web06ModelareXML-FamiliaXML
26/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: trăsături
Ușor de implementat, cu suport pentru Web
procesoare XML disponibile
pentru toate limbajele de programare
8/19/2019 web06ModelareXML-FamiliaXML
27/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: trăsături
Suport pentru utilizarea internaț ională
folosirea Unicode
independent de codificare/limbă
8/19/2019 web06ModelareXML-FamiliaXML
28/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: trăsături
Meta-limbaj
definire de alte limbaje
portabil
8/19/2019 web06ModelareXML-FamiliaXML
29/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: trăsături
Soluț ie pentru reprezentarea conț inutuluiresurselor Web identificate de URI/IRI
asigurarea inter-operabilit ăț ii (lingua franca)
8/19/2019 web06ModelareXML-FamiliaXML
30/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: constituienți
Prolog (preambul)
Elemente
Atribute
Entit ăț i
Secț iuni de marcare
Instrucț iuni de procesare
8/19/2019 web06ModelareXML-FamiliaXML
31/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: prolog
Declaraț ie care specifică versiunea
și codificarea documentului
8/19/2019 web06ModelareXML-FamiliaXML
32/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: prolog
Declaraț ie care specifică versiunea
și codificarea documentului
atribut obligatoriu
atribut
opț ional
trebuie să apară o singură dat ă la începutul documentului
8/19/2019 web06ModelareXML-FamiliaXML
33/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: elemente
Element = component ă structurală (unitate-text)
8/19/2019 web06ModelareXML-FamiliaXML
34/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: elemente
Element = component ă structurală (unitate-text)
nume – identifică un element
sintaxă similară cu cea a identificatorilor de variabile
produs
8/19/2019 web06ModelareXML-FamiliaXML
35/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: elemente
Sintactic, un element este specificat
via marcatori (tag-uri) – de început și de sfârșit
Ping Uinix
8/19/2019 web06ModelareXML-FamiliaXML
36/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: elemente
Case sensitive
8/19/2019 web06ModelareXML-FamiliaXML
37/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: elemente
Un element poate avea conț inut vid
8/19/2019 web06ModelareXML-FamiliaXML
38/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: elemente
Un element poate avea conț inut vid
8/19/2019 web06ModelareXML-FamiliaXML
39/95
D r . S a b i n
B u r a g a
p r o f s .
i n f o . u a i c . r o / ~ b u s
a c o /
xml: modele ale conținutului
Model structural
desemnează relaț iile dintre elemente:
secvență, ierarhie, grupare, incluziune
8/19/2019 web06ModelareXML-FamiliaXML
40/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: modele ale conținutului
Elemente imbricate în alte elemente(pot conț ine date textuale și/sau alte elemente)
Ping Uinix este o mascotăpolicromă
care se vindefoarte rapid.
8/19/2019 web06ModelareXML-FamiliaXML
41/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: modele ale conținutului
Elemente imbricate în alte elemente(pot conț ine date textuale și/sau alte elemente)
Concurs:FII Code
8/19/2019 web06ModelareXML-FamiliaXML
42/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: modele ale conținutului
Elementele trebuie să fie închiseși să se împerecheze corect
We don't need no education
greșit!
8/19/2019 web06ModelareXML-FamiliaXML
43/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
?xml version 1.0 ?
...
………
preambul
document XML
modelând o antologie
de poezii
8/19/2019 web06ModelareXML-FamiliaXML
44/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
?xml version 1.0 encoding UTF 8 ?
Ping Uinix
http://www.pinguin.infoMascota lunii
Blue Ory
Ceas „isteț” cu gust de măr
un posibil catalog de produse în cadrul unui e-shop
8/19/2019 web06ModelareXML-FamiliaXML
45/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: atribute
Atribut
descrie o anumit ă proprietate (caracteristică)a unei apariț ii particulare a unui element
8/19/2019 web06ModelareXML-FamiliaXML
46/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: atribute
Atributele apar doar în marcajul de început
...
Tuxy Pinguinescu
8/19/2019 web06ModelareXML-FamiliaXML
47/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: atribute
Atributele pot fi specificate în orice ordine
≡
8/19/2019 web06ModelareXML-FamiliaXML
48/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: atribute
Numele atributelor este case sensitive
8/19/2019 web06ModelareXML-FamiliaXML
49/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
xml: atribute
Valorile atributelor trebuie să fie delimitate
obligatoriu de ghilimele sau apostrofuri
atributele f ără valoare nu sunt acceptate
Caută:
eronat!
8/19/2019 web06ModelareXML-FamiliaXML
50/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
gAngry ProfsAndroidiOS
Windows…
SabinBuraga
30374…
date XML referitoare la un joc electronic
8/19/2019 web06ModelareXML-FamiliaXML
51/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /
p g , p p j g
VisiCalcVC-176Y2-IBM-TEST
ApplicationProductivitySoftware ArtsDecember 16, 1981
VC.COM
README.mdVisiCalc License
8/19/2019 web06ModelareXML-FamiliaXML
52/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /xml: referințe la entități
Scop:
codificare și referentiere a unei părț i de document
sintaxă:
&identificator ;saunumăr ;
8/19/2019 web06ModelareXML-FamiliaXML
53/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /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 „❀” – setul de caractere UTF)
8/19/2019 web06ModelareXML-FamiliaXML
54/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u s
a c o /xml: secțiuni
Anumite pă
rț i din documente necesit
ă
procesări speciale
CDATA – inhibă procesarea XML
8/19/2019 web06ModelareXML-FamiliaXML
55/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s
a c o /
if (vizite
8/19/2019 web06ModelareXML-FamiliaXML
56/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s
a c o /
/*
if (vizite */
xml: secțiuni
procesorul XML nu va interpreta sintaxa codului JavaScript
8/19/2019 web06ModelareXML-FamiliaXML
57/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /xml: instrucțiuni de procesare
Includ informaț ii privitoare la aplicaț iile (externe)
care urmează a fi executate
pentru procesarea conț inutului
8/19/2019 web06ModelareXML-FamiliaXML
58/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /xml: instrucțiuni de procesare
procesorul XML ar putea invoca interpretorul PHP
pentru execuț ia programului
8/19/2019 web06ModelareXML-FamiliaXML
59/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /xml: instrucțiuni de procesare
Exemplificare:
asocierea unei foi de stiluri CSS pentru redareaconț inutului unui document XML
8/19/2019 web06ModelareXML-FamiliaXML
60/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /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
true0
909090
true0909090
≡
marcaje ARML ( Augmented Reality Markup Language)
(în loc de) pauză
8/19/2019 web06ModelareXML-FamiliaXML
61/95
D r . S a b i
n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
(în loc de) pauză
8/19/2019 web06ModelareXML-FamiliaXML
62/95
D r . S a b i
n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
xml: familia
XML (Extensible Markup Language)sintaxa
XML Information Set – Infoset
modelul (abstract) de date XMLXLL (Extensible Linking Language)
XLink – legături între documente
XPointer – localizare relativă a resurselor
XSL (Extensible Stylesheet Language)transformări și format ări: XSLT + XSL-FO
XQuery (împreună cu XPath)
interogarea datelor XML
8/19/2019 web06ModelareXML-FamiliaXML
63/95
D r . S a b i
n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
xml: aplicabilitate
Structurarea/formatarea conț inutului
(formate de prezentare a datelor)
în navigatorul Web: (X)HTML (Extensible HTML), HTML5
formulare electronice: XForms
grafică vectorială: SVG (Scalable Vector Graphics)
lumi tridimensionale: X3D (Extensible 3D Graphics)pe platforme mobile: SVG Mobile
8/19/2019 web06ModelareXML-FamiliaXML
64/95
D r . S a b i
n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
xml: aplicabilitate
Reprezentarea diferitelor tipuri de continut
expresii matematice: MathML – www.w3.org/Math/date multimedia sincronizate:
SMIL (Synchronized Multimedia Integration Language)
informaț ii vocale: VoiceXML – www.voicexml.org
componente ale interfeț ei-utilizator:e.g., XUL (Extensible User-interface Language)
informaț ii cartografice: KML (Keyhole Markup Language)
date hidrologice: WaterML – www.opengeospatial.org
8/19/2019 web06ModelareXML-FamiliaXML
65/95
D r . S a b i
n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
xml: aplicabilitate
Reprezentarea diferitelor tipuri de conț inut
documentaț ii: DocBook (Documentation Book )informaț ii prelucrate de suite de birou – e.g., Open Office:
ODF (Open Document Format )
mediatizare (syndication) – fluxuri de știri:
RSS (Really Simple Syndication), Atom
publicații electronice (e-books): EPUB – idpf.org/epubreguli de specificare a proceselor de afaceri:
BRML (Business Rules Markup Language)
avansat
8/19/2019 web06ModelareXML-FamiliaXML
66/95
D r . S a b i
n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
xml: aplicabilitate
Descrierea – conceptuală – a resurselor Web
cadrul general: RDF (Resource Description Framework )exprimarea vocabularelor de meta-date:
DCMI (Dublin Core Metadata Initiative),
FOAF (Friend Of A Friend ),
DOAP (Description Of A Project ),…
exprimarea modelelor conceptuale – ontologii:
OWL (Web Ontology Language)
8/19/2019 web06ModelareXML-FamiliaXML
67/95
D r . S a b i
n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
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-uncurs viitor
8/19/2019 web06ModelareXML-FamiliaXML
68/95
D r . S a b i
n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
Așadar, până la urmă, ce este XML?
8/19/2019 web06ModelareXML-FamiliaXML
69/95
8/19/2019 web06ModelareXML-FamiliaXML
70/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
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 datelorpunct de vedere
în general
centralizat
8/19/2019 web06ModelareXML-FamiliaXML
71/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u s a c o /
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 dat
nu sunt a-priori cunoscute
8/19/2019 web06ModelareXML-FamiliaXML
72/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: direcții importante
Comunicaț ii/interacț iune
person-to-person – instant messagingXMPP (Extensible Messaging and Presence Protocol )
http://xmpp.org/
person-to-computer – syndicationformatul Atom – www.atomenabled.org
computer-to-computer – servicii Webmash-up-uri
8/19/2019 web06ModelareXML-FamiliaXML
73/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
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
avansat
8/19/2019 web06ModelareXML-FamiliaXML
74/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: direcții importante
Căutare și regăsire – knowledge retrieval
meta-datetagging
navigare
filtrare
import/export de dateinter-operabilitate...
în contextul aplicaț iilor Web sociale
avansat
8/19/2019 web06ModelareXML-FamiliaXML
75/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: direcții importante
Modelarea proceselor (de afaceri, mai ales)
dataflow
workflow
avansat
8/19/2019 web06ModelareXML-FamiliaXML
76/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
evenimente dedicate XML
www.xmlamsterdam.com
xmllondon.comwww.xmlprague.czwww.balisage.net
8/19/2019 web06ModelareXML-FamiliaXML
77/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: instrumente
Analizoare (procesoare, parsers)
Apache Xerces, Expat, libxml, MSXML,…
Vizualizatoare și editoare structurale
browser Web, Open Office, , MS Visual Studio
Formatatoare – e.g., procesoare XSLT/XSL-FOAH Formatter, FOP, Saxon, Xalan, XEP
Sisteme de gestiune a bazelor de date XML
BaseX, eXistdb, MarkLogic
8/19/2019 web06ModelareXML-FamiliaXML
78/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: demo
8/19/2019 web06ModelareXML-FamiliaXML
79/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
Dacă alegem nume de marcatori/atribute
deja definite de alte limbaje XML?
8/19/2019 web06ModelareXML-FamiliaXML
80/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: spații de nume
Student Web Awards2016
Tuxy Pinguinescu2
8/19/2019 web06ModelareXML-FamiliaXML
81/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: spații de nume
Student Web Awards2016
Tuxy Pinguinescu2
?conflict!
8/19/2019 web06ModelareXML-FamiliaXML
82/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: spații de nume
Spaț iu de nume
desemnează un vocabular utilizat
pentru calificarea – în mod unic –
a elementelor/atributelor XML
8/19/2019 web06ModelareXML-FamiliaXML
83/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
xml: spații de nume
Vocabularul definit – colecț ie de nume
de elemente și attribute, plus maniera lor de
structurare – poate fi desemnat de un URI
8/19/2019 web06ModelareXML-FamiliaXML
84/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
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): http://www.w3.org/TR/xml-names/
8/19/2019 web06ModelareXML-FamiliaXML
85/95
D r . S a b i n
B u r a g a
p r o f s
. i n f o . u a i c . r o / ~ b u
s a c o /
Tuxy Pinguinescu2
Student Web Awards2016
f ără conflicte!
de studiat exemplele din arhiva
asociată acestei prezentări
8/19/2019 web06ModelareXML-FamiliaXML
86/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
xml: spații de nume – exemple
Vocabularul XHTML/HTML5: http://www.w3.org/1999/xhtml
Vocabularul Atom: http://www.w3.org/2005/Atom
Vocabularul modelului conceptual oferit de DBpedia:
http://dbpedia.org/ontology/
Vocabularul JSP ( Java Server Pages):
http://java.sun.com/JSP/Page
Vocabularul XUL (Extensible User-interface Language):
http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
8/19/2019 web06ModelareXML-FamiliaXML
87/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
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) – http://www.w3.org/TR/SVG/
HTML + SVG
8/19/2019 web06ModelareXML-FamiliaXML
88/95
D r . S a b i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
HTML + SVG
O ilustrație SVG (grafică vectorială) inclusă într -o pagină Web
SVG direct în browser...
De utilizat un navigator Web care oferă suport nativ pentru SVG.
8/19/2019 web06ModelareXML-FamiliaXML
89/95
D r . S a b
i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
8/19/2019 web06ModelareXML-FamiliaXML
90/95
D r . S a b
i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
Grafică vectorială cu SVG
C. Bulancea & S. Buraga (2004, 2014)
comenzi grafice
(e.g., M=mută, C=cerc)
aplicarea unui filtruwww.w3.org/TR/SVG/filters.html
avansat
8/19/2019 web06ModelareXML-FamiliaXML
91/95
D r . S a b
i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
❤ 2016
C. Bulancea & S. Buraga (2004, 2014)
8/19/2019 web06ModelareXML-FamiliaXML
92/95
D r . S a b
i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
redarea conținutului grafic vectorial SVG
Firefox
la nivel de desktop
Windows 10
Safari pe platforma
mobilă iOS 9 (iPad)
8/19/2019 web06ModelareXML-FamiliaXML
93/95
D r . S a b
i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
xml: spații de nume – demo
8/19/2019 web06ModelareXML-FamiliaXML
94/95
D r . S a b
i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
rezumat
modelarea datelor prin XML
caracterizare & constituienți,aplicații și utilizări, spații de nume XML
8/19/2019 web06ModelareXML-FamiliaXML
95/95
D r . S a b
i n
B u r a g a
p r o f s . i n f o . u a i c . r o / ~ b u
s a c o /
episodul viitor:
extragerea datelor cu XPath