Web 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
-
Upload
sabin-buraga -
Category
Technology
-
view
98 -
download
0
Transcript of Web 2016 (06/13) Modelarea datelor. Familia XML + spații de nume
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/Tehnologii Web
un model de date pentru Web (I)
</>familia XML
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
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)
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
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?
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…
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(ă)
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) ?
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
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
preliminarii
Documente:formate particulare vs. formate generice
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)
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 (1986) – standard ISO 8879
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)
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ă
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
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 gramatici
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)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml
Extensible Markup Language
standard W3C (1998, 2000, 2004, 2006, 2008)
http://www.w3.org/TR/xml/
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml
Extensible Markup Language
o tehnologie+
o familie de limbaje
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: caracterizare
Marcaje descriptive
<para> <img /> <response> <Person> <tag>
case sensitive
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
detalii în alt curs
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
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
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ă
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: trăsături
Meta-limbaj
definire de alte limbaje
portabil
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)
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
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"
?>
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
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: elemente
Element = componentă structurală (unitate-text)
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
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>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/xml: elemente
Case sensitive
<marcaj> <Marcaj> <MARCAJ>
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 />
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 (React.js) -->
<Form>
<Form.Row>
<Form.Label />
<Form.Input />
</Form.Row>
</Form>
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
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>
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>Concurs:<strong>FII Code</strong>
</li></ul>
</section></article>
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!
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
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>Ceas „isteț” cu gust de măr</nume></produs>
</produse>
un posibil catalog de produse în cadrul unui e-shop
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
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="2016-03-24">
...
</antologie>
<student matricol="TuPi33">
<nume initiala= "I">Tuxy Pinguinescu</nume>
</student>
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" />
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: atribute
Numele atributelor este case sensitive
<img src="..." />
<img SRC="..." />
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
<form action=procesare.php method="GET'>
<label for=căutare">Caută:</label>
<input default type=search placeholder= /></form>
eronat!
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<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 informații -->
</identity> <points>30374</points>…
</player></game>
date XML referitoare la un joc electronic
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
<!-- Meta-date asociate unui program, folosite de http://www.pcjs.org/ --><manifest>
<title>VisiCalc</title><version>VC-176Y2-IBM-TEST</version><type>Application</type><category>Productivity</category><company>Software Arts</company><releaseDate>December 16, 1981</releaseDate><machine
href="/devices/pc/machine/5150/mda/64kb/machine.xml" state="/apps/pc/1981/visicalc/state.json"/>
<disk id="disk" dir="/apps/pc/1981/visicalc/bin/"><file>VC.COM</file><file dir="../">README.md</file><link href="http://www.bricklin.com/history/vclicense.htm">
VisiCalc License</link>
</disk></manifest>
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;
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 „❀” – setul de caractere UTF)
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
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
eroare la procesarea XML
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
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 ... ?>
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
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" ?>
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)
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
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), HTML5formulare electronice: XForms
grafică vectorială: SVG (Scalable Vector Graphics)lumi tridimensionale: X3D (Extensible 3D Graphics)
pe platforme mobile: SVG Mobile
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
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
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)informații prelucrate de suite de birou – e.g., Open Office:
ODF (Open Document Format) mediatizare (syndication) – fluxuri de știri:
RSS (Really Simple Syndication), Atompublicații electronice (e-books): EPUB – idpf.org/epub
reguli de specificare a proceselor de afaceri: BRML (Business Rules Markup Language)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
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
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
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)
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
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
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)
http://xmpp.org/
person-to-computer – syndicationformatul Atom – www.atomenabled.org
computer-to-computer – servicii Webmash-up-uri
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
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
avansat
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: direcții importante
Modelarea proceselor (de afaceri, mai ales)
dataflow
workflow
avansat
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
avansat
evenimente dedicate XMLwww.xmlamsterdam.com
xmllondon.com
www.xmlprague.cz
www.balisage.net
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
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?
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume
<event uri="http://studentwebawards.net/">
<name>Student Web Awards</name>
<year>2016</year>
</event>
<participant>
<name uri="mailto:[email protected]">
Tuxy Pinguinescu</name>
<year kind="Bachelor">2</year>
</participant>
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/
xml: spații de nume
<event uri="http://studentwebawards.net/">
<name>Student Web Awards</name>
<year>2016</year>
</event>
<participant>
<name uri="mailto:[email protected]">
Tuxy Pinguinescu</name>
<year kind="Bachelor">2</year>
</participant>
?conflict!
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
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
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): http://www.w3.org/TR/xml-names/
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 Pinguinescu</s:name>
<s:year s:kind="Bachelor">2</s:year>
<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>
</c:calendars>
fără conflicte!
de studiat exemplele din arhiva asociată acestei prezentări
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 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
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) – http://www.w3.org/TR/SVG/
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>O ilustrație SVG (grafică vectorială) inclusă î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: #6699FF; stroke: #3333CC;"/><!-- conținut 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>
<p>De utilizat un navigator Web care oferă suport nativ pentru SVG.</p></body>
</html>
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="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" /><!-- un filtru cromatic --> <filter id="filtruCromatic"><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
avansat
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(#unGradient)" />
<!-- 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="#patrat" /><use x="100" y="80" xlink:href="#patrat" filter="url(#filtruCromatic)" /><use x="160" y="80" xlink:href="#patrat" fill-opacity="0.33" /><use x="220" y="80" xlink:href="#patrat" />
<!-- un text redat conform căii specificate --><text fill="red">
<!-- de studiat și http://www.w3.org/TR/SVG/fonts.html --><textPath xlink:href="#cale">❤ 2016</textPath>
</text></svg>
C. Bulancea & S. Buraga (2004, 2014)
avansat
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 9 (iPad)
Dr.
Sab
in B
ura
ga
profs.in
fo.uaic.ro/~busa
co/rezumat
modelarea datelor prin XML
</>caracterizare & constituienți,
aplicații și utilizări, spații de nume XML