Documente Academic
Documente Profesional
Documente Cultură
</>
familia XML
Tehnologii Web
Antoine de Saint-Exupry
Procesare
(programe)
Data is less
important
than code
19451970
Date proprietare
(baze de date,
suite de birou)
Publicarea
datelor
pe Web
(HTML)
Data is as
important
as code
19701994
19942000
Modelare
(semi)
structurat
(XML, JSON)
Modelare
conceptual
(RDF, OWL)
Data is more
important
than code
20002003
2003
open data
pre-Web
Procesare
(programe)
Data is less
important
than code
19451970
Date proprietare
(baze de date,
suite de birou)
Web clasic
Web social
Web-ul datelor
Publicarea
datelor
pe Web
(HTML)
Modelare
(semi)
structurat
(XML, JSON)
Modelare
conceptual
(RDF, OWL)
Data is as
important
as code
19701994
19942000
Data is more
important
than code
20002003
2003
preliminarii
preliminarii
Necesiti:
un limbaj de marcare explicit a informaiilor
datele dorite a fi modelate pot fi practic
nelimitate (unbound) i necunoscute
nu exist a-priori un vocabular/schem comun()
preliminarii
Necesiti:
datele trebuie s poat fi auto-explicative
(self-explanatory)
ce reprezint triplul ("Sabin", "Buraga", 30374) ?
preliminarii
Necesiti:
modelul adoptat s se preteze arhitecturilor
navigaionale actuale, bazate pe hipertext
preliminarii
Documente:
formate particulare vs. formate generice
preliminarii
Documente:
formate particulare vs. formate generice
codificare generic (60):
procedural apeluri de proceduri
bazat pe marcatori (mark-ups)
preliminarii
preliminarii
preliminarii: definiii
preliminarii: definiii
marcaje
speciale
preliminarii: definiii
preliminarii: definiii
xml
http://www.w3.org/TR/xml/
xml
xml
www.w3.org/standards/xml/
xml
Marcaje descriptive
<para> <img /> <response> <Person> <tag>
case sensitive
xml: caracterizare
Tipuri de documente
detalii n
alt curs
xml: caracterizare
Independena datelor
suport pe orice platform hardware/software
extinderea marcajelor
translatarea/transformarea documentelor
xml: caracterizare
xml: trsturi
xml: trsturi
Meta-limbaj
definire de alte limbaje
portabil
xml: trsturi
xml: trsturi
Prolog (preambul)
Elemente
Atribute
Entiti
Seciuni de marcare
Instruciuni de procesare
xml: constituieni
xml: prolog
atribut
obligatoriu
xml: prolog
xml: elemente
xml: elemente
xml: elemente
Case sensitive
xml: elemente
xml: elemente
xml: elemente
Model structural
<produs>
Ping Uinix este o mascot
<obs>policrom</obs>
care se vinde
<obs>foarte rapid</obs>.
</produs>
</strofa>
</poem>
<poem>
<titlu />
</poem>
<poem>
document XML
<!-- mai multe poeme -->
modelnd o antologie
</poem>
de poezii
</antologie>
Atribut
descrie o anumit proprietate (caracteristic)
a unei apariii particulare a unui element
xml: atribute
xml: atribute
xml: atribute
xml: atribute
xml: atribute
<game>
<title>Angry Profs</title>
<platform>Android</platform>
<platform min-version="8">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 informaii -->
</identity>
<points>30374</points>
</player>
</game>
Scop:
codificare i referentiere a unei pri de document
sintax:
&identificator;
sau
&#numr;
xml: seciuni
<script type="application/javascript">
if (vizite < 10) { // nu e vizitator fidel
$("#mesaj").html ("<p>Salut!</p>");
}
</script>
eroare la
procesarea XML
xml: seciuni
<script type="application/javascript">
/*<![CDATA[*/
if (vizite < 10) { // nu e vizitator fidel
$("#mesaj").html ("<p>Salut!</p>");
}
/*]]>*/
</script>
xml: seciuni
<script>
<?php
echo "<p>Salut!\n</p>";
?>
</script>
Exemplificare:
asocierea unei foi de stiluri CSS pentru redarea
coninutului unui document XML
<?xml-stylesheet type="text/css" href="stiluri.css" ?>
<VisualAsset id="obiectObservabil">
<enabled>true</enabled>
<VisualAsset id="obiectObservabil">
<zOrder>0</zOrder>
<enabled>true</enabled><zOrder>0
<Orientation>
</zOrder><Orientation><roll>90</roll>
<roll>90</roll>
<tilt>90</tilt><heading>90</heading>
<tilt>90</tilt>
</Orientation></VisualAsset>
<heading>90</heading>
</Orientation>
</VisualAsset>
marcaje ARML (Augmented Reality Markup Language)
xml: familia
Structurarea/formatarea coninutului
(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
xml: aplicabilitate
xml: aplicabilitate
xml: aplicabilitate
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)
avansat
ntr-un
curs viitor
xml: aplicabilitate
Comunicaii/interaciune
person-to-person instant messaging
XMPP (Extensible Messaging and Presence Protocol)
http://xmpp.org/
person-to-computer syndication
formatul Atom www.atomenabled.org
computer-to-computer servicii Webmash-up-uri
avansat
workflow
avansat
avansat
xml: instrumente
xml: demo
<event uri="http://studentwebawards.net/">
<name>Student Web Awards</name>
<year>2016</year>
</event>
<participant>
<name uri="mailto:tux@info.uaic.ro">
Tuxy Pinguinescu</name>
<year kind="Bachelor">2</year>
</participant>
<event uri="http://studentwebawards.net/">
<name>Student Web Awards</name>
<year>2016</year>
</event>
conflict!
<participant>
<name uri="mailto:tux@info.uaic.ro">
Tuxy Pinguinescu</name>
<year kind="Bachelor">2</year>
</participant>
Spaiu de nume
desemneaz un vocabular utilizat
pentru calificarea n mod unic
a elementelor/atributelor XML
<?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 Pinguinescu</s:name>
<s:year s:kind="Bachelor">2</s:year>
fr conflicte!
<c:calendar>
<e:event xml:id="SWA">
<e:name>Student Web Awards</e:name>
<e:year>2016</e:year>
</e:event>
<e:event xml:id="StagiiPeBune" />
</c:calendar>
</e:participant>
de studiat exemplele din arhiva
</c:calendars>
asociat acestei prezentri
Studiu de caz:
includerea n documentele HTML
a unor construcii provenite din alte limbaje XML
exemplificare:
SVG (Scalable Vector Graphics) http://www.w3.org/TR/SVG/
<p>De utilizat un navigator Web care ofer suport nativ pentru SVG.</p>
</body>
</html>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>HTML + SVG</title></head>
<body>
<h1>O ilustraie SVG (grafic vectorial) inclus ntr-o pagin Web</h1>
<!-- Elemente i atribute SVG specificate n documentul HTML,
recunoscute pe baza spaiului de nume SVG -->
<svg width="500" height="200" xmlns="http://www.w3.org/2000/svg">
<!-- o zon rectangular cu coluri rotunjite -->
<rect x="50" y="50" rx="7" ry="7" width="450" height="150"
style="fill: #6699FF; stroke: #3333CC;"/>
<!-- coninut textual -->
<text x="70" y="90" style="stroke: navy; fill: white; font-size: 32pt;">
SVG direct în browser...</text>
<!-- un cerc galben -->
<circle cx="400" cy="150" r="33" style="fill: yellow; stroke: red;" />
</svg>
avansat
Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/
<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 dgrad (gradient) liniar -->
<linearGradient id="unGradient">
<stop offset="33%" stop-color="#ADA" />
<stop offset="74%" stop-color="#369" />
</linearGradient>
<rect id="patrat" width="15px" height="15px" rx="2" ry="2" fill="green" />
<!-- o cale de redare -->
<path id="cale" d="M15 50 C10 0 90 0 90 40" />
comenzi grafice
<!-- un filtru cromatic -->
(e.g., M=mut, C=cerc)
<filter id="filtruCromatic">
<feColorMatrix in="SourceGraphic" type="matrix"
values="0 0 0 0 0
aplicarea unui filtru
10110
www.w3.org/TR/SVG/filters.html
01100
0 0 0 1 0" />
</filter>
</defs>
avansat
Safari pe platforma
mobil iOS 9 (iPad)
</>
caracterizare & constituieni,
aplicaii i utilizri, spaii de nume XML
rezumat
episodul viitor:
extragerea datelor cu XPath
validarea documentelor XML prin DTD