Sunteți pe pagina 1din 95

un model de date pentru Web (I)

</>
familia XML

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Tehnologii Web

Antoine de Saint-Exupry

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Esenialul n lumnare nu este ceara


ce las urma, ci lumina.

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Cum modelm (reprezentm) datele?

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

evoluia conceptului de dat


(adaptare dup Daconta et al., 2003)

2003

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

datele: mai importante ca aplicaiile

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

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

datele: mai importante ca aplicaiile

19942000

Data is more
important
than code
20002003

evoluia conceptului de dat


(adaptare dup Daconta et al., 2003)

2003

Ce model de reprezentare a datelor


alegem pentru
stocarea datelor eterogene ce provin din surse multiple?
informaii care evolueaz n timp?
reprezentarea limbajului natural?

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii

Dorim s modelm i s procesm date


privitoare la
antologii de poezii
cataloage de produse ale unui e-shop
depozite de reete gastronomice
chestionare
reele sociale

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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()

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii

Necesiti:
datele trebuie s poat fi auto-explicative
(self-explanatory)
ce reprezint triplul ("Sabin", "Buraga", 30374) ?

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii

Necesiti:
modelul adoptat s se preteze arhitecturilor
navigaionale actuale, bazate pe hipertext

suport pentru specificarea URI-urilor

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii

Documente:
formate particulare vs. formate generice

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii

Documente:
formate particulare vs. formate generice
codificare generic (60):
procedural apeluri de proceduri
bazat pe marcatori (mark-ups)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii

Marcaj adnotare, codare, mark-up

orice aciune de a interpreta explicit


o poriune de text (coninut)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii: definiii

Marcaj adnotare, codare, mark-up


exemple:
semnele de punctuaie pentru limbile scrise,
deliminatorii folosii n codul-surs

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii: definiii

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

marcaje
speciale

Limbaj de specificare (de adnotare, de marcare)


set de convenii de marcare
utilizate pentru codificarea datelor

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii: definiii

Limbaj de specificare (de adnotare, de marcare)


set de convenii de marcare
utilizate pentru codificarea datelor
definete mulimea de marcaje obligatorii,
modul de identificare i de structurare a marcajelor
pe baza unei gramatici

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

preliminarii: definiii

Extensible Markup Language


meta-limbaj de marcare
descendent simplificat al SGML destinat
utilizrii n Internet (1996prezent)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml

Extensible Markup Language


standard W3C (1998, 2000, 2004, 2006, 2008)

http://www.w3.org/TR/xml/

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml

Extensible Markup Language


o tehnologie
+
o familie de limbaje

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml

www.w3.org/standards/xml/

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml

Marcaje descriptive
<para> <img /> <response> <Person> <tag>

case sensitive

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: caracterizare

Tipuri de documente

detalii n
alt curs

Document Type Definition (DTD)


specificare formal a tipurilor de documente
(constituieni + structur)
folosete la verificarea corectitudinii sintactice

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: caracterizare

Independena datelor
suport pe orice platform hardware/software
extinderea marcajelor

translatarea/transformarea documentelor

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: caracterizare

Uor de implementat, cu suport pentru Web


procesoare XML disponibile
pentru toate limbajele de programare

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: trsturi

Suport pentru utilizarea internaional


folosirea Unicode
independent de codificare/limb

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: trsturi

Meta-limbaj
definire de alte limbaje
portabil

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: trsturi

Soluie pentru reprezentarea coninutului


resurselor Web identificate de URI/IRI
asigurarea inter-operabilitii (lingua franca)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: trsturi

Prolog (preambul)
Elemente
Atribute
Entiti
Seciuni de marcare
Instruciuni de procesare

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: constituieni

Declaraie care specific versiunea


i codificarea documentului
<?xml version="1.0"
encoding="UTF-8"
?>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: prolog

Declaraie care specific versiunea


i codificarea documentului
<?xml version="1.0"
encoding="UTF-8"
?>
atribut
opional

atribut
obligatoriu

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: prolog

trebuie s apar o singur dat la nceputul documentului

Element = component structural (unitate-text)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: elemente

Element = component structural (unitate-text)


nume identific un element
sintax similar cu cea a identificatorilor de variabile
produs

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: elemente

Sintactic, un element este specificat


via marcatori (tag-uri) de nceput i de sfrit
<produs>Ping Uinix</produs>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: elemente

Case sensitive

<marcaj> <Marcaj> <MARCAJ>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: elemente

Un element poate avea coninut vid


<produs></produs>
<produs />

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: elemente

Un element poate avea coninut vid


<!-- exemplu concret: JSX (React.js) -->
<Form>
<Form.Row>
<Form.Label />
<Form.Input />
</Form.Row>
</Form>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: elemente

Model structural

desemneaz relaiile dintre elemente:


secven, ierarhie, grupare, incluziune

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: modele ale coninutului

Elemente imbricate n alte elemente


(pot conine date textuale i/sau alte elemente)

<produs>
Ping Uinix este o mascot
<obs>policrom</obs>
care se vinde
<obs>foarte rapid</obs>.
</produs>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: modele ale coninutului

Elemente imbricate n alte elemente


(pot conine date textuale i/sau alte elemente)
<!-- marcaje HTML5 respectnd conveniile XML -->
<article>
<section>
<ul>
<li>Concurs:
<strong>FII Code</strong>
</li>
</ul>
</section>
</article>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: modele ale coninutului

Elementele trebuie s fie nchise


i s se mperecheze corect
<div><q>We don't need no education</div></q>
greit!

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: modele ale coninutului

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

<?xml version="1.0" ?>


preambul
<antologie>
<poem>
<titlu>...</titlu>
<strofa>
<vers></vers>
<vers></vers>

</strofa>
</poem>
<poem>
<titlu />
</poem>
<poem>
document XML
<!-- mai multe poeme -->
modelnd o antologie
</poem>
de poezii
</antologie>

un posibil catalog de produse n cadrul unui e-shop

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

<?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 mr</nume>
</produs>
</produse>

Atribut
descrie o anumit proprietate (caracteristic)
a unei apariii particulare a unui element

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: atribute

Atributele pot fi specificate n orice ordine

<Button text="Ok" id="@+id/un_buton" />

<Button id="@+id/un_buton" text="Ok" />

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: atribute

Numele atributelor este case sensitive

<img src="..." />

<img SRC="..." />

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: atribute

Valorile atributelor trebuie s fie delimitate


obligatoriu de ghilimele sau apostrofuri
atributele fr valoare nu sunt acceptate
<form action=procesare.php method="GET'>
<label for=cutare">Caut:</label>
<input default type=search placeholder= /></form>
eronat!

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: atribute

date XML referitoare la un joc electronic

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

<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>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

<!-- 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. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: referine la entiti

Scop:
codificare i referentiere a unei pri de document
sintax:
&identificator;
sau

&#numr;

Entiti predefinite similare celor de la HTML:


&lt; (<) &gt; (>) &amp; (&) &quot; (")

Entiti (referine) de tip caracter:


&#160; (non-breaking space &nbsp; pentru HTML)
&#259; ( setul de caractere ISO-8859-2 i UTF)
&#10048; (simbolul setul de caractere UTF)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: referine la entiti

Anumite pri din documente necesit


procesri speciale
CDATA inhib procesarea XML

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: seciuni

<script type="application/javascript">
if (vizite < 10) { // nu e vizitator fidel
$("#mesaj").html ("<p>Salut!</p>");
}

</script>

eroare la
procesarea XML

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: seciuni

<script type="application/javascript">
/*<![CDATA[*/
if (vizite < 10) { // nu e vizitator fidel
$("#mesaj").html ("<p>Salut!</p>");
}
/*]]>*/
</script>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: seciuni

procesorul XML nu va interpreta sintaxa codului JavaScript

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: instruciuni de procesare

Includ informaii privitoare la aplicaiile (externe)


care urmeaz a fi executate
pentru procesarea coninutului
<?processing-instruction ... ?>

<script>
<?php
echo "<p>Salut!\n</p>";
?>
</script>

procesorul XML ar putea invoca interpretorul PHP


pentru execuia programului

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: instruciuni de procesare

Exemplificare:
asocierea unei foi de stiluri CSS pentru redarea
coninutului unui document XML
<?xml-stylesheet type="text/css" href="stiluri.css" ?>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: instruciuni de procesare

Spaiile albe e.g., spaiu, TAB, caracterele NL (New Line)


sau CR (Carriage Return) nu au nicio semnificaie

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: procesarea spaiilor

<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)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

(n loc de) pauz

XML (Extensible Markup Language)


sintaxa

XML Information Set Infoset


modelul (abstract) de date XML

XLL (Extensible Linking Language)


XLink legturi ntre documente
XPointer localizare relativ a resurselor

XSL (Extensible Stylesheet Language)


transformri i formatri: XSLT + XSL-FO

XQuery (mpreun cu XPath)


interogarea datelor XML

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: aplicabilitate

Reprezentarea diferitelor tipuri de continut


expresii matematice: MathML www.w3.org/Math/
date multimedia sincronizate:
SMIL (Synchronized Multimedia Integration Language)
informaii vocale: VoiceXML www.voicexml.org
componente ale interfeei-utilizator:
e.g., XUL (Extensible User-interface Language)
informaii cartografice: KML (Keyhole Markup Language)
date hidrologice: WaterML www.opengeospatial.org

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: aplicabilitate

Reprezentarea diferitelor tipuri de coninut


documentaii: DocBook (Documentation Book)
informaii prelucrate de suite de birou e.g., Open Office:
ODF (Open Document Format)
mediatizare (syndication) fluxuri de tiri:
RSS (Really Simple Syndication), Atom
publicaii electronice (e-books): EPUB idpf.org/epub
reguli de specificare a proceselor de afaceri:
BRML (Business Rules Markup Language)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

avansat

ntr-un
curs viitor

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)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: aplicabilitate

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Aadar, pn la urm, ce este XML?

XML principiu unificator al tehnologiilor de:


procesare a documentelor
stocare i procesare tradiional a datelor
acces la Internet (Web)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: privire de ansamblu

XML se preteaz pentru stocarea (reprezentarea)


datelor semi-structurate
sistemele tradiionale (e.g., baze de date relaionale)
necesit specificarea unei scheme rigide
n vederea stocrii/accesrii datelor
punct de vedere
n general
centralizat

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: privire de ansamblu

XML se preteaz pentru stocarea (reprezentarea)


datelor semi-structurate

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: privire de ansamblu

datele de pe Web sunt descentralizate, eterogene i pot fi,


deseori, accesate chiar modificate de ctre oricine
resursele disponibile la un moment dat
nu sunt a-priori cunoscute

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

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: direcii importante

Publicare deschis a datelor


modelare (semi-)structurat
procesare independent de platforma/limbaj
prezentri multiple ale coninutului,
n diverse formate i pe sisteme eterogene

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: direcii importante

xml: direcii importante


Cutare i regsire knowledge retrieval
meta-date
tagging
navigare
filtrare
import/export de dateinter-operabilitate
...
n contextul aplicaiilor Web sociale

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

avansat

xml: direcii importante


Modelarea proceselor (de afaceri, mai ales)
dataflow

workflow

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

avansat

evenimente dedicate XML


www.xmlamsterdam.com
xmllondon.com
www.xmlprague.cz
www.balisage.net

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

avansat

Analizoare (procesoare, parsers)


Apache Xerces, Expat, libxml, MSXML,
Vizualizatoare i editoare structurale
browser Web, Open Office, <oXygen/>, MS Visual Studio
Formatatoare e.g., procesoare XSLT/XSL-FO
AH Formatter, FOP, Saxon, Xalan, XEP
Sisteme de gestiune a bazelor de date XML
BaseX, eXistdb, MarkLogic

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: instrumente

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: demo

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Dac alegem nume de marcatori/atribute


deja definite de alte limbaje XML?

<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>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: spaii de nume

<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>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: spaii de nume

Spaiu de nume
desemneaz un vocabular utilizat
pentru calificarea n mod unic
a elementelor/atributelor XML

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: spaii de nume

Vocabularul definit colecie de nume


de elemente i attribute, plus maniera lor de
structurare poate fi desemnat de un URI

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: spaii de nume

Vocabularul definit poate fi desemnat de un URI


atributul xmlns specific acest URI,
atand opional un identificator unic
fiecrui vocabular folosit
specificaie W3C (2009): http://www.w3.org/TR/xml-names/

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: spaii de nume

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

<?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

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. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: spaii de nume exemple

Studiu de caz:
includerea n documentele HTML
a unor construcii provenite din alte limbaje XML

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: spaii de nume

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>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

<!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 &icirc;n browser...</text>
<!-- un cerc galben -->
<circle cx="400" cy="150" r="33" style="fill: yellow; stroke: red;" />
</svg>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

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>

C. Bulancea & S. Buraga (2004, 2014)

<!-- o form rectangular umplut cu dgrad-ul definit anterior -->


<rect x="1cm" y="1cm" width="6cm" height="1cm" round="1em"
fill="url (#unGradient)" />
<!-- folosim 4 instane ale ptratului definit,
plasate la diverse coordonate i avnd diverse proprieti 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 cii specificate -->
<text fill="red">
<!-- de studiat i http://www.w3.org/TR/SVG/fonts.html -->
<textPath xlink:href="#cale">&#10084; 2016</textPath>
</text>
</svg>

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

avansat

C. Bulancea & S. Buraga (2004, 2014)

redarea coninutului grafic vectorial SVG


Firefox
la nivel de desktop
Windows 10

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

Safari pe platforma
mobil iOS 9 (iPad)

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

xml: spaii de nume demo

modelarea datelor prin XML

</>
caracterizare & constituieni,
aplicaii i utilizri, spaii de nume XML

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

rezumat

Dr. Sabin Buragaprofs.info.uaic.ro/~busaco/

episodul viitor:
extragerea datelor cu XPath
validarea documentelor XML prin DTD

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