SlideShare uma empresa Scribd logo
1 de 416
Baixar para ler offline
Sabin Buraga
Tehnologii XML
Tehnologii XML2
Seria Web HVWH FRRUGRQDW GH GU 6DELQ %XUDJD
)DFXOWDWHD GH ,QIRUPDWLF 8QLYHUVLWDWHD Å$O, X]Dµ ,DüL
Sabin Buraga HVWH OHFWRU GRFWRU OD )DFXOWDWHD GH ,QIRUPDWLF D 8QLYHUVLWLL Å$O, X]Dµ GLQ
,DüL ILLQG WLWXODUXO FXUVXULORU Å7HKQRORJLL :HEµ Å6HPDQWLF :HEµ Å,QWHUDFLXQH RP-
-FDOFXODWRUµ üL Å5HHOH GH FDOFXODWRDUHµ (VWH ODXUHDW DO 3UHPLXOXL Å*KHRUJKH kUWLDQXµ DO
$FDGHPLHL 5RPkQH
0DL PXOWH DPQXQWH SULYLWRDUH OD DFWLYLWLOH VDOH VXQW
disponibile pe Web la adresa http://www.infoiasi.ro/~busaco. La Editura Polirom a mai
publicat: $WHOLHU GH SURJUDPDUH vQ UHHOH GH FDOFXODWRDUH (în colaborare, 2001), Programare Web în
EDVK üL 3HUO (în colaborare, 2002), 3URLHFWDUHD VLWXULORU :HE 'HVLJQ üL IXQFLRQDOLWDte + CD (2002),
$SOLFDLL :HE OD FKHLH (coord., 2003), Utilizare Linux (în colaborare, 2004), Situri Web la cheie.
6ROXLL SURIHVLRQDOH GH LPSOHPHQWDUH (coord., 2004), 3URLHFWDUHD VLWXULORU :HE 'HVLJQ üL
IXQFLRQDOLWDWH  ' HGLLD D ,,D
üL PrimiL SDüL vQ /LQX[ (în colaborare, 2006).
%UXQD =D
QL $XJXVWR 3DOPRQDUL D FXUD GL
0DQXDOH GL SVLFRORJLD GL FRPXQLWº
ƒ  E 6RFLHWº HGLWULFH LO 0XOLQR %RORJQD
©  E (GLWXUD 32/,520
ZZZSROLURPUR
(GLWXUD 32/,520
,DL %GXO DURO , QU  32 %2;  
%XFXUHWL %GXO , %U?WLDQX QU  HW  DS  23  32 %2;  
'HVFULHUHD ,3 D %LEOLRWHFLL 1D@LRQDOH D 5RP¼QLHL
%85$*$ 6$%,1 251(/,8
7HKQRORJLL ;0/  6DELQ %XUDJD r ,DL 3ROLURP 
%LEOLRJU
,6%1
,6%1
;0/
3ULQWHG LQ 520$1,$
3
32/,520
Tehnologii XML4
5
Cuprins
Prefa ......................................................................................................................9
Capitolul 1 – Calea de acces la Web.................................................................11
1. Preambul.......................................................................................................11
 $VSHFWH HVHQLDOH SULYLWRDUH OD SURWRFROXO +773....................................12
2.1. Preliminarii...........................................................................................12
 RQFHSWH üL IXQFLRQDUH......................................................................12
2.3. Mesajele HTTP.....................................................................................18
2.4. Atributele HTTP..................................................................................22
 /RFXO +773 vQ DUKLWHFWXUD VSDLXOXL :::............................................26
5HIHULQH............................................................................................................28
Capitolul 2 – Modele de date semistructurate. Familia XML.....................29
1. Introducere...................................................................................................29
1.1. Formate de date...................................................................................29
1.2. Modele de date ....................................................................................30
1.3. Date semistructurate...........................................................................31
2. XML pentru reprezentarea datelor semistructurate...............................33
2.1. Precursori .............................................................................................33
 RQFHSWH GH ED] DUDFWHUL]DUH üL WUVWXUL...................................34
 RQVWLWXHQL..........................................................................................37
2.4. Familia XML.........................................................................................44
 $SOLFDLL üL LQVWUXPHQWH ;0/ ............................................................45
2.6. O privire de ansamblu........................................................................47
 RPSRQHQWH GH ED] DOH IDPLOLHL ;0/....................................................49
3.1 6SDLLOH GH QXPH ;0/ ........................................................................49
3.2. Modelul de date XML: XML Infoset.................................................52
3.3. Transformarea documentelor XML..................................................54
3.4. Validarea documentelor XML.........................................................102
 ([SULPDUHD OHJWXULORU YLD ;/LQN ...................................................137
4. Limbaje bazate pe XML. Exemple...........................................................143
 ,QWHUDFWLYLWDWHD FX XWLOL]DWRUXO )LOLHUD ;+70/  üL ;)RUPV....144
4.2. Specificarea structurii hipertext a unui sit Web............................150
 3URWRFROXO GH FRPXQLFDLH IRORVLW GH -DEEHU..................................150
 ,QWHURJUL ;0/ ..........................................................................................153
5.1. Preliminarii.........................................................................................153
Tehnologii XML6
5.2. Baze de date native XML..................................................................153
 0RGDOLWL GH UHDOL]DUH D LQWHURJULORU ...........................................157
 ,PSOHPHQWUL üL DSOLFDLL...................................................................163
5.5. Studii de caz.......................................................................................164
 ûDEORDQH GH SURLHFWDUH ;0/....................................................................177
6.1. Punerea problemei............................................................................177
 H HVWH XQ üDEORQ.............................................................................178
 DWHJRULL GH üDEORDQH GH SURLHFWDUH ;0/......................................178
5HIHULQH..........................................................................................................189
Capitolul 3 – 3URFHVUL ;0/............................................................................193
1. Preliminarii.................................................................................................193
2. Modelul DOM............................................................................................194
2.1. Caracterizare......................................................................................194
 ,QWHUIHH üL LPSOHPHQWUL..................................................................196
 )XQFLRQDOLWL GH ED] DOM Core.................................................197
2.4. Extensii oferite de DOM nivelul 2...................................................202
2.5. Extensii oferite de DOM nivelul 3...................................................206
 ,PSOHPHQWUL......................................................................................207
2.7. Exemple ..............................................................................................209
 ,QWHUIDD 6$;..............................................................................................240
3.1. Caracterizare......................................................................................240
3.2. Maniera de procesare........................................................................240
 ,PSOHPHQWUL......................................................................................244
3.4. Exemple ..............................................................................................244
3.5. DOM versus SAX ...............................................................................251
 $OWH PRGDOLWL GH SURFHVDUH ;0/..........................................................253
4.1. Preliminarii.........................................................................................253
 3URFHVDUHD VLPSOLILFDW D GRFXPHQWHORU ;0/...............................254
4.3. Consultarea documentelor XML prin XMLReader .......................255
4.4. Generarea documentelor XML prin XMLWriter...........................259
 $OWH IDFLOLWL RIHULWH GH .NET Framework .....................................260
 2 DOWHUQDWLY OD '20 SULQ ;20 ....................................................266
5HIHULQH..........................................................................................................266
Capitolul 4 – XML pentru servicii Web: SOA, REST, AJAX.....................269
1. Preambul.....................................................................................................269
 $UKLWHFWXUD RULHQWDW VSUH VHUvicii Web .................................................270
2.1. Introducere.........................................................................................270
 7HKQRORJLL GH SURJUDPDUH D DSOLFDLLORU :HE ...............................271
2.3. Un studiu de caz................................................................................285
7
3. AJAX (Asynchronous JavaScript And XML).............................................299
3.1. Context................................................................................................299
3.2. Caracterizare......................................................................................302
3.3. 8Q SULP H[HPSOX YHULILFDUHD H[LVWHQHL XQXL QXPH
de cont de utilizator..........................................................................304
3.4. Al doilea exemplu: jurnalizarea pe partea de server
D H[FHSLLORU DSUXWH vQ SURJUDPHOH -DYD6FULSW
executate în cadrul browser-ului......................................................312
 $VSHFWH LPSRUWDQWH vQ OHJWXU FX UHDOL]DUHD
GH DSOLFDLL $-$;...............................................................................320
3.6. AJAX în contextul REST...................................................................322
 8WLOL]UL üL LQWHUIHH GH SURJUDPDUH $-$;.....................................323
 RQVLGHUDLL SULYLQG VHFXULWDWHD DSOLFDLLORU IRORVLQG $-$;.......323
3.9. În loc de concluzii…..........................................................................325
5HIHULQH..........................................................................................................327
Capitolul 5 – WUH :HE-ul semantic .............................................................331
1. Introducere.................................................................................................331
2. Spre Web-ul semantic...............................................................................334
2.1. Punerea problemei............................................................................334
2.2. Niveluri ale Web-ului semantic ......................................................335
3. Specificarea meta-datelor prin RDF........................................................337
 DUDFWHUL]DUH JHQHUDO ......................................................................337
 0RGHOXO GH ED] ................................................................................339
3.3. Vocabulare de meta-date..................................................................342
3.4. Sintaxe alternative.............................................................................346
 ,PSOHPHQWUL üL XWLOL]UL...................................................................349
 5') üL PLFURIRUPDWHOH......................................................................351
4. De la Web 1.0 la Web 2.0 (Data Web).......................................................352
4.1. Preliminarii. Caracteristici ale „noului” Web................................352
 0DUFDMH DGQRWUL
GHILQLWH GH XWLOL]DWRU........................................354
4.3. Participare, nu doar publicare a datelor ........................................355
4.4. Descentralizare radicaO ...................................................................356
 ÍQFUHGHUH UDGLFDO )RORVLUHD VWDQGDUGHORU ....................................357
 ,QWHUDFLXQH ERJDW FX XWLOL]DWRUXO..................................................358
4.7. Spre Web-ul social?...........................................................................359
5. Ontologii.....................................................................................................361
5.1. Ontologia cu „O” mare sau mic? ....................................................361
5.2. Scopuri................................................................................................362
Tehnologii XML8
6. Tipuri de ontologii ....................................................................................362
 ODVLILFUL............................................................................................362
6.2. Specificarea taxonomiilor.................................................................364
6.3. Tezaure ...............................................................................................369
 0RGHODUHD FXQRüWLQHORU 2QWRORJLL FRPSOH[H...............................370
7. Specificarea unei ontologii.......................................................................371
7.1. Specificarea categoriilor ...................................................................372
 6SHFLILFDUHD SURSULHWLORU................................................................373
 6SHFLILFDUHD UHODLLORU ........................................................................374
 ([HPSOLILFUL......................................................................................375
8. Formalisme.................................................................................................377
8.1. Punerea problemei............................................................................377
8.2. Spre un model formal.......................................................................377
 /RJLFLOH GHVFULHULL 2 SUH]HQWDUH VXFFLQW......................................378
9. Proiectarea (ingineria) ontologiilor.........................................................381
9.1. Preliminarii.........................................................................................381
9.2. Metodologii de proiectare a ontologiilor.......................................381
10. Specificarea ontologiilor prin OWL......................................................385
10.1. Caracterizare....................................................................................385
10.2. Sintaxa OWL....................................................................................386
 'LIHUHQH vQWUH QLYHOXULOH 2:/ .....................................................392
 WUH UDLRQDPHQW DXWRPDW....................................................................393
11.1. MaQLHUH GH UDLRQDPHQW.................................................................393
 'H OD RQWRORJLL OD UDLRQDPHQW DXWRPDW .......................................394
12. „Concluzii”...............................................................................................403
5HIHULQH..........................................................................................................404
%LEOLRJUDILH JHQHUDO ........................................................................................409
3UHID
„,PSRUWDQW HVWH QX XQGH HüWL FL vQFRWUR WH vQGUHSL”
Oliver Wendell Holmes Jr.
DUWHD GH ID – parte a seriei Web a Editurii Polirom – are drept principal
VFRS SUH]HQWDUHD FHORU PDL LPSRUWDQWH WHQGLQH vQ XWLOL]DUHD SURLHFWDUHD
SURFHVDUHD üL FRQFHSWXDOL]DUHD GDWHORU YLD VXLWD GH WHKQRORJLL Extensible
Markup Language (XML – acronim explicitat, cu umor, de unii prin Excellent
Marketing Language). Al doilea demers este cel de a-l conduce pe cititor spre
YLLWRUXO vQWUHY]XW DO VSDLXOXL :RUOG :LGH :HE
6XELHFWHOH DWLQVH GHRVHELW GH DFWXDOH SH SODQ PRQGLDO VH UHIHU vQ VSe-
cial la GLYHUVH DVSHFWH DOH IDPLOLHL ;0/ VROXLL SHQWUX PRGHODUHD üL VWRFDUHD
FRQLQXWXOXL VHPLVWUXFWXUDW RQVLGHUP F GH LQWHUHV VH YRU EXFXUD – prin-
tre altele – SULOH GHGLFDWH ED]HORU GH GDWH QDWLYH ;0/ LQFOXVLY FX SUHzen-
tarea unor limbaje de interogare SUHFXP ;3DWK üL ;4XHU
üDEORDQHORU GH
SURLHFWDUH ;0/ VDX PDQLHUHL GH LQWHUDFLXQH :HE YLD $-$; Asynchronous
JavaScript And XML
9ROXPXO QX RPLWH PRGDOLWLOH GH SURFHVDUH ;0/
SULQ GLYHUVH PHWRGH GH UHGDUH D FRQLQXWXOXL YLD WUDQVIRUPUL ;6/ Exten-
sible Styesheet Language), de validare a documentelor sau de creare a servi-
ciilor Web, punctând cele mai bune practici de utilizare.
'H DVHPHQHD IDFHP R WUHFHUH vQ UHYLVW D FRQFHSWHORU GH ED] üL D FHORU
mai populare tehnologii ale Web-ului, cu reliefarea GLUHFLLORU GH HYROXLH
FWUH Data Web, Social Web üL FHHD FH YD IL Semantic Web. De la prezentarea
modului de acces via protocolul HTTP (Hypertext Transfer Protocol), de-
WDOLHP FRPSRQHQWHOH GH ED] DOH IDPLOLHL GH OLPEDMH ;0/ SHQWUX D DMXQJH
V GHVFULHP – într-un final mereu amânat – meta-GDWHOH üL RQWRORJLLOH (x-
puneUHD HVWH UHDOL]DW GLQWU-R SHUVSHFWLY SUDJPDWLF GDU QX QHJOLMP
PHQLonarea bazelor teoretice, acolo unde este cazul.
1XPHURDVHOH LPSOHPHQWUL SUH]HQWDWH UHFXUJ OD GLYHUVH SDUDGLJPH üL
limEDMH GH SURJUDPDUH SUHFXP   -DYD -DYD6FULSW 3HUO üL 3+3 'H
asemenea, sunt descrise diverse limbaje de marcare bazate pe XML –
XHTML 2.0, XForms, RDF (Resource Description Framework), FOAF (Friend
Of A Friend
üL 2:/ Web Ontology Language) – üL sunt prezentate me-
todologiile de proiectare a unora noi.
3UHID10
0DWHULDOXO YD SXWHD IL SDUFXUV üL vQHOHV GH RULFH SHUVRDQ LQWHUHVDW GH
domeniul Web, în special de meta-OLPEDMXO ;0/ LQWHQLRQkQG V-üL IRr-
meze o privire de ansamblu asupra tehnologiilor actuale üL DVXSUD HYROXLHL
Web-XOXL vQ YLLWRUXO DSURSLDW 9ROXPXO VH DGUHVHD] GH]YROWDWRULORU GH Vituri
üL DSOLFDLL :HE VSHFLDOLüWLORU vQ GRPHQLL SUHFXP ED]HOH GH GDWH LQWHUDFiunea
om-FDOFXODWRU LQWHOLJHQD DUWLILFLDO LQJLQHULD VRIWZDUH VDX FDOFXOXO GLs-
tribuit, SUHRFXSDL GH PRGHODUHD FRQFHSWXDO D GDWHORU üL GH prelucrarea
IOH[LELO HILFLHQW üL LQGHSHQGHQW GH SODWIRUP D GRFXPHQWHORU Atât stu-
GHQLL üL PDVWHUDQ]LL GH OD IDFXOWLOH GH LQIRUPDWLF VDX FX SURILO vQUXGLW
FkW üL HOHYLL GLQ FODVHOH PDUL YRU JVL FX FHUWLWXGLQH LQIRUPDLL GH LQWHUHV
referitoare la Web.
'HüL OXFUDUHD GH ID D IRVW HIHFWLY VFULV vQ SHULRDGD  LDQXDULH – 27 fe-
EUXDULH  FRQLQXWXO HL UHIOHFW H[SHULHQD DFXPXODW SH SDUFXUVXO XOWi-
PLORU DQL üL VH ED]HD] vQWU-R DQXPLW PVXU SH DFWLYLWaWHD GHVIüXUDW GH
autor în cadrul unor discipline ca Tehnologii Web, Semantic Web üL ,QWHUDFi-
une om-calculator SUHGDWH OD )DFXOWDWHD GH ,QIRUPDWLF D 8QLYHUVLWLL Å$le-
[DQGUX ,RDQ X]Dµ GLQ ,DüL
$SUHFLHP LQWHUHVXO üL VSULMLQXO DFRUGat de-a lungul anilor de o parte din-
WUH VWXGHQLL QRüWUL – DFWXDOPHQWH DEVROYHQL PDMRULWDWHD DUWHD QX DU IL
DMXQV OD IRUPD DFWXDO IU DSRUWXO GLUHFW VDX LQGLUHFW DO GRPQLORU Dr. Cor-
nelius Croitoru, Laurian Gridinoc, CWOLQ +ULFX, Dr. Toader Jucan, Manuel
ûXEUHGX üL 'U ûWHIDQ 7UXüDQ-Matu 'H DVHPHQHD QH H[SULPP JUDWLWXGLQHD
QRDVWU FROHFWLYXOXL (GLWXULL 3ROLURP üL SULQLORU QRüWUL 1X vQ XOWLPXO
rând, mulXPLP ILUPHL 6QF52 SHQWUX DFRUGDUHD XQHL OLFHQH DFDGHPLFH D
editorului XML oXygen /.
SLWXO FULL SRDWH IL DFFHVDW OD http://www.infoiasi.ro/~busaco/books/xml/. Ma-
joritatea surselor incluse în acest volum pot fi preluate direct de pe sit, sub
auspiciile preY]XWH GH OLFHQHOH *18 GNU is Not UNIX). Autorul poate fi
contactat via situl personal: http://www.infoiasi.ro/~busaco/.
1X QH PDL UPkQH GHFkW V Y GRULP R UH
SDUFXUJHUH SOFXW D FULL üL
PXOW VXFFHV vQ DFWLYLWDWHD GXPQHDYRDVWU GH – SRWHQLDOL VDX FRQVDFUDL –
DFWXDOLYLLWRUL VSHFLDOLüWL vQ WHKQRORJLLOH ;0/
Dr. Sabin Buraga
,DüL 27 februarie 2006
Capitolul 1
Calea de acces la Web
„$ GHILQL vQVHDPQ D XFLGH D VXJHUD vQVHDPQ D FUHD”
Stéphane Mallarmé
$FHVW FDSLWRO DGXFH vQ DWHQLD FLWLWRUXOXL R VHULH GH DPQXQWH SULYito-
are la protocolul de transfer al datelor hipertext ± HTTP (Hypertext
Transfer Protocol). Suplimentar, se descriu caracteristicile principale ale
identificatorilor uniformi de resurse.
Cuvinte-cheie: protocol, HTTP, adresarea resurselor, URI.
1. Preambul
8QXO GLQWUH FHOH PDL LPSRUWDQWH üL PDL GH VXFFHV VHUYLFLL DOe Internetului,
World Wide Web-ul – mai pe scurt, Web VDX VSDLXO WWW –, a fost instituit la
CERN (Centre Européen pour la Recherche Nucléaire – Centrul European de
HUFHWUL 1XFOHDUH GH OD *HQHYD
vQ DQXO  JUaLH YL]LXQLL OXL 6LU 7LP
Berners-Lee. AceVWD vPSUHXQ FX 5REHUW DLOODX üL R HFKLS GH VSHFLDOLüWL D
propus un sistem informatic disWULEXLW VFRSXO SULQFLSDO XUPULW ILLQG IDFLOL-
tarea accesului rapid la inIRUPDLLOH WHKQLFH FXSULQVH vQ PDQXDOHOH GH XWLOL]DUH
D FDOFXODWRDUHORU 'RX PDUL GLUHFLL SUHFXUVRDUH WUHEXLH PHQLRQDWH
• GH]YROWDUHD KLSHUWH[WXOXL VDX D SURFHVULL FRPSXWHUL]DWH D GRFX-
mentelor electronice complexe);
• SURJUHVXO vQUHJLVWUDW vQ FHHD FH SULYHüWH SURLHFWDUHD üL IRORVLUHD
SURWRFRDOHORU ,QWHUQHW FDUH DX IFXW SRVLELO FRPXQLFDUHD JOREDO
GLQWUH UHHOHOH GH FDOFXODWRare.
Web-XO UHSUH]LQW XQ VLVWHP GH GLVWULEXLH ORFDO VDX JOREDO D LQIRUPDLLORU
hipermedia (Berners-/HH
'LQ SXQFW GH YHGHUH WHKQLF VSDLXO :HE
SXQH OD GLVSR]LLH XQ VLVWHP JOREDO üL VWDQGDUGL]DW GH FRPXQLFare
PXOWLPHGLD LQIRUPDLLOH ILLQG RUJDQL]DWH DVRFLDWLY üL GLsWULEXLWH vQ IXQFLH
Tehnologii XML12
GH FHUHULOH XWLOL]DWRULORU IXQFLRQkQG FRQIRUP Podelului client/server.
Putem vedea Web-XO FD ILLQG XQ XQLYHUV LQIRUPDLRQDO FRPSXV GLQ
elemente de interes, denumite resurse, desemnate de identificatori globali
GHQXPLL 85, Uniform Resource Identifiers).
În cadrul acestui capitol, ne vom concentra mai ales asupra celor mai
importante detalii referitoare la protocolul HTTP, una dintre componentele
GH ED] DOH VSDLXOXL :::
2$VSHFWHHVHQLDOHSULYLWRDUHODSURWRFROXO+773
2.1. Preliminarii
%D]D FRPXQLFULL GLQWUH VHUYHUHOH üL FOLHQLL :HE OD QLYHO GH DSOLFaLH HVWH
DVLJXUDW GH SURWRFROXO HTTP (Hypertext Transfer Protocol), ajuns actu-
DOPHQWH OD YHUVLXQHD  üL SUHFL]DW Ge documentul RFC 2616 (Gettys et al.,
1999). Protocolul HTTP este folosit în special pentru hipertext, dar poate fi
FRQVLGHUDW GUHSW SURWRFRO JHQHULF ED]D FRPXQLFULL vQWU-un sistem
GLVWULEXLW GH PDQDJHPHQW DO GDWHORU 2 FDUDFWHULVWLF LPSRUWDQW D
protocROXOXL HVWH LQGHSHQGHQD GH SODWIRUP GLIHULWHOH FDOFXODWRDUH FDUH
FRPXQLF SULQ +773 SXWkQG IRORVL GLYHrVH VLVWHPH GH RSHUDUH üL DSOLFDLL
KLSHUWH[W $FHDVWD VH UHDOL]HD] SULQ QHJRFLHUHD PRGXOXL GH UHSUH]HQWDUH D
GDWHORU FDUH XUPHD] D IL WUDQVPLVH üL SULQ FDSDFLWDWHD LPSOHPHQWULORU GH D
codifica sau decoGLILFD GDWHOH +773 HVWH IRORVLW vQF GLQ DQXO  GH OD
începuturile Web-ului.
+773 UHSUH]LQW XQ SURWRFRO JHQHULF SHQWUX WUDQVPLWHUHD LQIRUPDLLORU
în format hipertext, el aplicându-VH üL vQWUH XWLOL]DWRU üL Lntermediari pentru
alte protocoale mai vechi: SMTP (Simple Mail Transfer Protocol), FTP (File
Transfer Protocol) sau NNTP (Network News Transfer Protocol) detalii în
Naik, 1998). Fiind un protocol utilizat în Internet, HTTP este bazat pe stiva
de protocoale TCP/IP (Transmission Control Protocol/Internet Protocol),
putând fi considerat fiabil (reliable).
RQFHSWHüLIXQFLRQDUH
3ULQFLSDOHOH FRQFHSWH FX FDUH OXFUHD] SURWRFROXO VXQW cererea üL UVSXQVXO:
un client Web trimite un mesaj (cererea) la un server 0HVDMXO FRQLQH
identificatorul resursei dorite, dat sub forma unui URI (Uniform Resource
Identifier
PHWRGD GH DFFHV IRORVLW YHUVLXQHD SURWRFoOXOXL SUHFXP üL R
serie de meta-LQIRUPDLL FDUH SRW IL XWLOH VHUYeUXOXL 5VSXQVXO VHUYHUXOXi
FXSULQGH XQ FRG LQGLFkQG VWDUHD VHUYHUXOXL GXS LQWHUSUHWDUHD FHUHULL XQ
Calea de acces la Web 13
mesaj explicativ pentru codul de stare transmis, meta-LQIRUPDLLOH FDUH YRU
IL SURFHVDWH GH FWUH FOLHQW üL HYHQWXDO XQ FRQLQXW e.g., UHVXUVD VROLFLWDW
În general, o sesiune GH FRPXQLFDUH +773 HVWH LQLLDW GH FWUH FOLHQW üL
FRQVW GLQ FHUHUHD XQHL UHVXUVH LGHQWLILFDWH XQLF SH XQ VHUYHU FXQRVFXW
$FHVWD HVWH QXPLW üL server de origine GDWRULW IDSWXOXL F vQ FRPXQLFDUHD
vQWUH FOLHQW üL VHUYHU SRW V DSDU XQXO VDX PDL PXOL intermediari: proxy
QXPLW üL server proxy), SRDUW (gateway) sau tunel (tunnel):
– Proxy-ul este un intermediar care retrimite un mesaj HTTP, eventual
modificând o parte a sa.
– Poarta UHSUH]LQW XQ Lntermediar care se poate situa înaintea unui
server de orLJLQH üL V VH LGHQWLILFH GUHSW DFHVWD FOLHQWXO :HE
necunoscând acest aspect.
– Tunelul HVWH XQ LQWHUPHGLDU FDUH QX VFKLPE FRQLQXWXO PHVDMXOXL HO
are rol exclusiv de retransmitere a lui; de exemplu, tunelul poate fi
folosit pentru (de)criptarea mesajeloU YHKLFXODWH vQWUH VHUYHU üL FOLHQW
în cadrul unui intranet/extranet.
ÍQ FHOH PDL PXOWH GLQWUH FD]XUL vQWUH FOLHQWXO üL VHUYHUXO GH RULJLQH QX
H[LVW LQWHUPHGLDUL vQWUH DFHVWHD VWDELOLQGX-VH R FRQH[LXQH GLUHFW D VH
YHGHD üL ILJXUD
Figura 1. Modelul client/server HTTP:
FOLHQWXO :HE IRUPXOHD] R FHUHUH GH VROLFLWDUH D XQHL UHVXUVH VWRFDWH SH XQ VHUYHU :HE
üL SULPHüWH UVSXQVXO IXUQL]DW GH DFHO VHUYHU
De asemenea, un alt concept important este cel de cache, desemnând un
depozit local de stocare (în memorie, pe disc) a mesajelor (datelor) la nivel
de server/client. Un proxy GHLQH REOLJDWRULX XQ cache ILLQG GHQXPLW üL
sistem de cache YH]L üL VHFLXQHD  D FDSLWROuOXL GH ID
Un exemplu tipic de cerere-UVSXQV HVWH XUPWRUXO vQ FDUH FHUHUHD DUH
forma:
Tehnologii XML14
GET / HTTP/1.1
Host: www.infoiasi.ro
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6)
Gecko/20040115
Accept: image/gif, image/jpeg, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate, compress, identity
Connection: Keep-Alive
Un pRVLELO UVSXQV DU SXWHD IL FHO GH PDL MRV
HTTP/1.1 302 Found
Date: Mon, 02 Jan 2006 13:42:40 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Location: http://www.infoiasi.ro/fcs/index.html
Content-Length: 295
Connection: close
Content-Type: text/html; charset=iso-8859-1
!DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN
html
headtitle302 Found/title/head
bodyh1Found/h1pThe document has moved
a href=http://www.infoiasi.ro/fcs/index.html
here/a./p
hr /addressApache/2.0.40 Server at www.infoiasi.ro
Port 80/address/body
/html
Vom descrie în continuare elementele importante ale protocolului.
Adresarea resurselor Web
Pentru transferul documentelor hipertext, acestea trebuie adresate într-un
mod uniform, independent de sistemul de VWRFDUH üL GH FRQYHQLLOH UHHOHL
0RGDOLWDWHD GH DGUHVDUH IRORVLW SH :HE HVWH UHSUe]HQWDW GH identificatorii
uniformi de resurse ± URI (Uniform Resurse Identifiers) (detalii în Berners-Lee,
)LHOGLQJ üL 0DVLQWHU
.
Ceea ce este deseori denumit adres ::: LGHQWLILFDWRU XQLYHUVDO GH
documente sau localizator uniform de resurse este unificat în terminologia
Internet într-un singur concept: LGHQWLILFDWRU XQLIRUP GH UHVXUV üL UHSUH]HQWDW
într-R IRUP XQLF üL FRQVLVWHQW
0XOLPHD 85, HVWH SDUWLLRQDW vQ GRX VXEPXOLPL LPSRUWDQWH URL
(Uniform Resource Locator
üL URN (Uniform Resource Name).
Calea de acces la Web 15
URL-XO HVWH IRORVLW vQ ORFDOL]DUHD XQHL UHVXUVH vQ UHHD vQ VSHFLDO vQ
Internet) prin protoculul HTTP. Sintaxa URL pentru Web este:
http: // server [ : port ][ FDOHBDEVROXW
[ ? interogare ]]
'DF QX HVWH VSHFLILFDW H[SOLFLW SRUWXO HVWH FRQVLGHUDW D IL SRUWXO 
(portul implicit standard pentru protocolul HTTP). Semantica unui URL
HVWH XUPWRDUHD UHVXUVD VH DIO SH XQ VHUYHU LGHQWLILFDW SULQ server, care
„asculWµ HYHQWXDOH FHUHUL GH FRQHFWDUH OD SRUWXO VSHFLILFDW VDX LPSOLFLW
resursa esWH LGHQWLILFDW SULQ FDOHBDEVROXW ÍQ JHQHUDO WUHEXLH HYLWDW
folosirea drept server a adresei IP (e.g., 193.231.30.225) în favoarea folosirii
numelui simbolic asociat acesteia (i.e., www.infoiasi.ro). Parametrul
FDOHBDEVROXW UHSUH]LQW XQ üLU GH QXPH GH GLUHFWRDUH GHOLPLWDWH GH
FDUDFWHUXO ŵ HYHQWXDO WHUPLQDW FX QXPHOH ILüLHUXOXL FDUH VWRFKHD]
UHVXUVD DGUHVDW SULQ LQWHUPHGLXO 85/-ului. Componenta interogare
desHPQHD] XQ üLU VXSOLPHQWDU LQFOu]kQG LQIRUPDLL LQWHUSUHWDWH GH UHVXUV
(de cele mai multe ori, de un script), caracterele „;”, „/”, „?”, „:”, „@”, „”,
Å µ ŵ ŵ üL ŵ ILLQG UH]Hrvate.
7UHEXLH PHQLRQDW IDSWXO F DFHVWH FDUDFWHUH VSHFLDOH VXQW FRGLILcate
conform unei metode denumite URL encoding, vQ FDUH FDUDFWHUXO vQ FDX]
HVWH VXEVWLWXLW GH FRGXO VX QXPHULF vQ ED]D  SUHIL[DW GH VHPQXO ŵ GH
H[HPSOX Åaµ GHYLQH Å(µ
6SDLXO HVWH vQORFXLW FX ŵ
Câteva exemple de URL-uri:
• http://www.linux.org/
• http://students.infoiasi.ro/~lug/
• http://193.231.30.131/~busaco/
3UHFL]P IDSWXO F XQ 85/ SRDWH DYHD GUHSW VXIL[ XQ LGHQWLILFDWRU GH
IUDJPHQW SUHFHGDW GH FDUDFWHUXO ŵ FX VFRSXO GH D IDFH UHIHULUH GLUHFW OD
R SDUWH FRQVWLWXHQW D UHVXUVHL DGUHVDWH de acel URL. Drept exemplificare,
se poate da: http://www.sit.ro/buletin.html#a2005.
Un URN GHVHPQHD] XQ VXEVHW DO 85, FDUH UPkQH SHUPDQHQW üL XQLF
FKLDU GDF UHVXUVD D GLVSUXW RUL D GHYHQLW LQDFFHVLELO 851-ul se
XWLOL]HD] PDL DOHV SHQWUX D GHVHPQD HQWLWL WLSXUL GH GDWH VSDLL GH QXPH
HWF
IRORVLWH GH DQXPLWH DSOLFDLL :HE D H[HPSOH GH 851-uri putem da:
• urn:infoiasi.ro:BookInfo – HVWH VSHFLILFDW GH R DSOLFDLH :HE
GHVHPQDW GH GRPHQLXO infoiasi.ro;
• urn:mozilla:package:communicator – identific SDFKHWHOH VRIW-
ware ale suitei Mozilla;
• urn:schemas-microsoft-com:datatypes – GHVHPQHD] WLSXrile
de date definite de Microsoft;
Tehnologii XML16
• urn:ISBN:973-681-988-4 – VSHFLILF QXPUXO ,6%1 International
Standard Book Number) asoFLDW XQHL FUL
• urn:ietf:rfc:2401 – VH UHIHU OD LGHQWLILFDUHD XQXL SURWRFRO
standardizat de IETF (în cazul acesta, IP Secure).
Într-un context mai general, URI-XULOH SRW GHVHPQD UHVXUVH FDUH V SRDW
IL DFFHVDWH SULQ LQWHUPHGLXO SURWRFRDOHORU 73,3 $VWIHO IRUPD JHQHULF D
unui identifiFDWRU XQLIRUP GH UHVXUVH SUH]LQW XUPWRDUHOH FRPSRQHQWH
principale:
schema :// autoritate cale ? interogare
Componenta schema LGHQWLILF PRGDOLWDWHD GH LGHQWLILFDUH D SURWRFROXOXL
GH WUDQVIHU XWLOL]DW SHQWUX D DYHD DFFHV OD R DQXPLW UHVXUV HOHODOWe
elemente sunt similare celor descrise mai sus. Schemele URI se înre-
JLVWUHD] OD ,$1$ Internet Assigned Numbers Authority) – lista schemelor
85, DFWXDOH HVWH GLVSRQLELO OD DGUHVD http://www.iana.org/assignments/
uri-schemes.
Ca exemple de scheme se pot enumera:
• data:image/png;base64,R101...A7 – schema data SHUPLkQG
LQFOXGHUHD vQ PDQLHU inline D XQRU LQIRUPDLL GH PLFL Gimensiuni;
DFHDVW WHKQLF VH QXPHüWH üL DGUHVDUH LPHGLDW (Masinter, 1998);
VLQWD[D JHQHUDO DUH IRUPD data: [ tip_MIME ][ ;base64 ]
, FRQLQXW, în care tip_MIME UHSUH]LQW WLSXO 0,0( DO UHVXUVHL
(vezi infra), iar FRQLQXW GHVHPQHD] FRQLQXWXO SURSULX-zis al
UHVXUVHL FRGLILFDW EDVH vQ FD]XO vQ FDUH H VSHFLILFDW FODX]D
base64) sau în maniera URL-urilor. Un alt exemplu este
data:text/plain;charset=iso-8859-7,%be%fg%be;
• file:///tmp/ – VFKHP file FH GHVHPQHD] UHVXUVH GH WLS ILüLHU GLQ
cadrul sistemului de stocare de la nivelul clientului;
• ftp://ftp.funet.fi/pub/README.txt – VFKHP ftp pentru
serviciile protocolului de transfHU GH ILüLHUH )73
• https://www.infoiasi.ro/~busaco/teach/ – VFKHP https pen-
tru serviciile protocolului securizat HTTPS (vezi Rescorla, 2000);
• mailto:busaco@infoiasi.ro – VFKHP mailto SHQWUX SRüWD
HOHFWURQLF VH XWLOL]HD] GH RELFHL SURWRFROXO GH WUDQsfer SMTP);
• news:comp.infosystems.www.servers.unix – VFKHP news
SHQWUX JUXSXULOH GH üWLUL 86(1(7 1173 – Network News Transport
Protocol);
• tag:blogger.com,2006:blog-333 – VFKHP tag GHVWLQDW V
identifice în mod unic – VSDLDO üL WHPSRUDO – R DQXPLW UHVXUV
într-R PDQLHU FRQYHQDELO SHQWUX XWLOL]DWRU vQ DFHVW FD] HVWH YRUED
Calea de acces la Web 17
de subiectele de interes ale unui blog
DFHDVW VFKHP DUH VLQWD[D
tag: autoritate , GDWDBFDOHQGDULVWLF : infor-
PDLL [# fragm_URI], unde autoritate GHVHPQHD] XQ GRPHQLu
'16 VDX R DGUHV GH e-mail, GDWDBFDOHQGDULVWLF VSHFLILF R GDW
în forma AAAA-LL-ZZ (doar anul e obligatoriu), iar LQIRUPDLL sunt
caractere codificate în stilul URL-XULORU IXQFLRQkQG VLPLODU
componentei interogare SUH]HQWDW DQWHULRU GHWDOLL vQ .LQGEHUJ üL
Hawke, 2005);
• telnet://delta.ac.tuiasi.ro:7777 – VFKHP telnet pentru
servicii interactive via protocolul TELNET.
5HODWLY UHFHQW DX IRVW LQVWLWXLL üL LGHQWLILFDWRULL LQWHUQDLRQDOL]DL GH
UHVXUVH GHQXPLL ,5, ± Internationalized Resource Identifiers 'UVW üL 6XLJQDUG
$FHüWLD VXQW FRPSOHPHQWDUL 85,-XULORU SHUPLkQG specificarea unor
seturi de caractere mai largi decât ASCII (e.g., Unicode). De exemplu,
http://color.org/ros#xE9 este identic cu URI-ul http://color.org/ros#233 (folosind
eQWLWLOH-caracter permise de HTML/XML) sau http://color.org/ros#xE9
XWLOL]kQG HQWLWLOH-FDUDFWHU 8QLFRGH GLQ ;0/
üL SRDWH IL UHSUH]HQWDW
vizual prin http://color.org/rosé ÍQ DFHVW FRQWH[W WUHEXLH PHQLRQDW üL
VSHFLILFDLD SULYLWRDUH OD QXPHOH GH GRPHQLL LQWHUQDLRQDOH – IDN
(International Domain Names), extinzând sistemul numelor de domenii DNS
(Domain Name System).
RGLILFDUHDFRQLQXWXOXL
3HQWUX FD GDWHOH V ILH FRUHFW LQWHUSUHWDWH LQGLIHUHQW GH SODWIRUPD KDUGZDUH
üL VRIWZDUH HOH WUHEXLH V UHVSHFWH DFHHDüL FRGLILFDUH SH :HE (VWH GHILQLW
conceptul de set de caractere, pentru a putea interpreta corect datele
VFKLPEDWH XWLOL]kQG SURWRFROXO +773 vQWUH GRX SODWIRUPH GLIHULWH FX
UHSUH]HQWUL GLIHULWH DOH GDWHORU $VWIHO LQIRrPDLD HVWH WUDQVPLV în forma
XQXL üLU GH FDUDFWHUH XUPkQG FD HQWLWaWHD GH OD FHOODOW FDSW IRORVLQG
LQGLFDLLOH GHVSUH VHWXO GH FDUDFWHUH V UHDOL]H]H WUDQVIRUPDUHD GLQ üLU GH
RFWHL vQ üLU GH FDUDFWHUH 6HWXO GH FDUDFWHUH LPSOLFLW HVWH ,62-8859-1, dar
H[LVW R PXOWitudine de alte seturi (de exemplu, ISO-8859- GHQXPLW üL
Latin- FDUH RIHU SULQWUH DOWHOH üL UHSUezentarea diacriticelor din limba
URPkQ
3URWRFROXO +773 UHVSHFW VHWXULOH GH FDUDFWHUH GHILQLWH GH VSHFLILFDLLOH
MIME (Multipurpose Internet Mail Extensions) descrise pe larg în
GRFXPHQWHOH 5)  üL  YH]L )UHHG üL %RUHQVWHLQ D üL UHVSHFWLY
)UHHG üL %RUHQVWHLQ E
RQIRUP VWDQGDUGXOXL 0,0( SHQWUX ILHFDUH
UHVXUV VH VSHFLILF WLSXO üL VXEWLSXO DFHVWHLD 'H H[HPSOX text/html pentru
un document HTML, text/plain în cazul unui document text neformatat,
Tehnologii XML18
image/jpeg pentru o imagine în format JPEG, video/mpeg în cazul unui film
MPEG, model/vrml SHQWUX R OXPH YLUWXDO PRGHODW vQ 950/ HWF SHQWUX
mai multe detalii, vezi Buraga, 2005).
De asemenea, PHVDMHOH SRW IL FRGLILFDWH vQ YHGHUHD FRPSULPULL VDX DVL-
guUULL LGHQWLWLL üLVDX LQWHJULWLL 'H H[HPSOX VXQW SHUPLVH FRGLILFULOH
• gzip – UHSUH]LQW FRGLILFDUHD /HPSHO-=LY /=
IRORVLW GH FWUH
SURJUDPXO GH DUKLYDUH FX DFHODüL QXPH GLVSRQLELO în mediile
UNIX/Linux;
• compress – UHSUH]LQW R FRGLILFDUH /HPSHO-Ziv-Welch (LZW) utili-
]DW GH FWUH XWLOLWDUXO GH DUKLYDUH FX DFHODüL QXPH vQWkOQLW SH
platformele UNIX.
2.3. Mesajele HTTP
HUHULOH üL UVSXQVXULOH +773 VXQW YHKLFXODWH SULQ LQWHUPHGLXO PHVDjelor.
$VWIHO PHVDMHOH +773 VXQW FRQVLGHUDWH GH GRX WLSXUL cerere de la client
FWUH VHUYHU üL UVSXQV DO VHUYHUXOXL FWUH FOLHQW (OH UHSUH]LnW HQWLWLOH
JHQHULFH GLQ FRPXQLFDUHD +773 XQ PHVDM DYkQG OD SULPD YHGHUH XUP-
WRDUHD IRUP
Mesaj HTTP = linie_de_start (atribut_de_antet)* CRLF
[ FRQinut_mesaj ]
Componenta linie_de_start HVWH QXPLW linie de cerere sau linie de stare în
FD]XO FHUHULL UHVSHFWLY UVSXQVXOXL 0HWD-caracterul „*” desemQHD] IDSWXO
F QXPUXO GH DSDULLL SRDWH IL QXO XQX VDX RULFDUH LDU 5/) UHSUH]LQW
VHFYHQD GH FDUDFWHUH Carriage Return FRGXO
üL Line Feed (codul 10).
RQVWUXFLD Å[...]µ LQGLF R DSDULLH RSLRQDO D H[SUHVLHL GLQWUH SDUDQ-
tezele drepte.
În descrierea de mai sus, atribut_de_antet IRUPHD] SDUWHD GH VWart a
PHVDMXOXL DGLF antetul (header
8Q DQWHW FRQLQH PDL PXOWH DWULEXWH FDUH
VXQW IRORVLWH OD FRPSOHWDUHD XQHL FHUHUL VDX D XQXL UVSXQV FX PHWD-infor-
PDLD QHFHVDU LQWHUSUHWULL FRUHFWH D PHVDMXOXL SULQ VWDEilirea unor valori
VSHFLILFDWH GH FWUH SUotocolul HTTP sau a unor protocoale definite de
utilizator (de exemplu, SOAP – Simple Object Access Protocol). Fiecare atribut
FRQLQXW vQ DQWHW HVWH GH IRUPD
Atribut de antet = nume_atribut : [ valoare_atribut ]
2UGLQHD DFHVWRUD QX HVWH VHPQLILFDWLY GDU HVWH LQGLFDW V VH WULPLW PDL
vQWkL DWULEXWHOH JHQHUDOH IRORVLWH GH RELFHL DWkW SHQWUX FHUHUH FkW üL SHQWUX
UVSXQV
DSRL DWULEXWHOH VSHFLILFH WLSXOXL UHVSHFWLY GH PHVDM LDU OD VIkUüLW
FHOH VSHFLILFH HQWLWLL FXSULQVH vQ FRQLQXWXO Pesajului.
Calea de acces la Web 19
CRUSXO PHVDMXOXL +773 FRQLQH HQWLWDWHD DVRFLDW FHUHULL VDX UVSXQ-
sului, de multe ori reprezentând chiar resursa din linia de antet a cererii.
RUSXO XQXL PHVDM SRDWH OLSVL GDF PHWRGD GLQ FHUHUH R Lmpune, el chiar
WUHEXLH V OLSVHDVF
3UH]HQD FRUSXOXi mesajului este, de obicei,
VHPQDOL]DW SULQ SUH]HnD vQ DQWHWXO +773 D XQRU DWULEXWH UHIHULWRDUH OD
acesta: Content-Length sau Transfer-Coding. Lungimea unui mesaj este consi-
GHUDW OXQJLPHD vQWUHJXOXL FRUS GXS DSOLFDUHD OD FRQLQXWXO LQLLDO D XQRU
eventuale codifiFUL
Mesajul de tip cerere (Request)
)RUPD JHQHUDO D XQXL PHVDM GH WLS FHUHUH HVWH
Cerere HTTP = linie-de-cerere
(antet-general | antet-cerere | antet-entitate)*
CRLF
[ corpul-mesajului ]
/LQLD GH FHUHUH GHEXWHD] FX QXPHOH PHWRGHL Iolosite, urmat de
LGHQWLILFDWRUXO UHVXUVHL FUHLD L VH DGUHVHD] FHUHUHD 85,
üL GH YHUVLXQHD
protocolului (e.g., HTTP/1.1).
Linie de cerere = PHWRG SP identificator-UHVXUV SP
versiune-HTTP CRLF
7UHEXLH SUHFL]DW üL IDSWXO F VHFYHQD 5/) WUHEXLH V DSDU vQ
vQWUHJLPH LDU SUH]HQD VHSDUDW D XQXLD GLQWUH RFWHLL UHSUH]HQWkQG 5 VDX
LF este inWHU]LV SH SDUFXUVXO OLQLHL GH FHUHUH 63 GHVHPQHD] XQ VSDLX DOE
(blank).
0HWRGD FHUHULL HVWH LQGLFDW OD vQFHSXWXO OLQLHL GH FHUHUH üL UHSUH]LQW
DFLXQHD FDUH YD IL vQWUHSULQV vQ UDSRUW FX UHVXUVD VSHFLILFDW GH FWUH 85,
În general, metoda este case-sensitive GH RELFHL SUHFL]DW FX PDMXVFXOH
SULQWUH FHOH PDL X]XDOH PHWRGH SHUPLVH GH VSHFLILFDLD +773 HQXme-
rându-VH *(7 +($' 3267 üL 237,216 *HWWs et al.
([LVW GH
asemenea, posibilitatea folosirii altor metode, nestandardizate, atât timp cât
HOH SRW IL LGHQWLILFDWH GH FWUH WRDWH SULOH FRPXQiFULL
HOH PDL XWLOL]DWH PHWRGH +773 VH EXFXU GH XUPWRDUHOH FDUDFWHULVWLFL
• GET – UHSUH]LQW R FHUHUH GH DFFHVDUH D XQRU LQIRUPDLL HQWLWL
8Q
FOLHQW +773 QDYLJDWRU URERW SURJUDP GH GHVFUFare, agregator de
üWLUL HWF
IRORVHüWH PHWRGD *(7 SHQWUX D RELQH R DQXPLW UHVXUV
ILH F HD UHSUH]LQW XQ ILüLHU GRFument text, HTML, imagine PNG
saX -3(* DSOLFDLH DUKLY GRFXPHQW ;0/ HWF
ILH F LQGLF
Tehnologii XML20
H[HFXLD SH VHUYHUXO :HE D XQXL SURFHV FDUH YD SURGXFH GDWHOH
dorite (e.g., invocarea unui script CGI);
• HEAD – HVWH VLPLODU FX PHWRGD *(7 GDU VHUYHUXO YD UHWXUQD XQ
PHVDM DYkQG LQIRUPDLL GRDU în antet. Meta-datele din anteturile
+773 GLQ Uspunsul la o cerere HEAD vor fi identice cu cele din
UVSXQVXO OD R FHUHUH *(7 8WLOLWDWHD DFHVWHL PHWRGH FRQVW vQ REL-
nerea meta-datelor asociate unei resurse Web fU D WUDQVIHUD HIHFWLY
întreaga entitate, în vederea – de exemplu – D WHVWULL H[LVWHQHL
UHVXUVHL D RELQHULL GDWHL XOWLPHL PRGLILFUL VDX D IXUQL]ULL GUHSWX-
rilor de acces;
• POST – PHWRGD HVWH XWLOL]DW SHQWUX D LGHQWLILFD GDF VHUYHUXO
DFFHSW R HQWLWDWH vQJOREDW vQ FDGUXO FHUHULL 3267 HVWH SURLHFWDW V
LPSOHPHQWH]H R PHWRG XQLIRUP SHQWUX IXQFLL SUecum adnotarea
UHVXUVHORU WULPLWHUHD GDWHORU XQXL IRUPXODU :HE FWUH VHUYHU
extinderea unei baze de date printr-R RSHUDLXQH GH LQVHUDUH HWF
• OPTIONS – UHSUH]LQW R FHUHUH GH LQIRUPDLL GHVSUH RSLXQLOH GH FR-
municare disponibile într-XQ GLDORJ +773 FHUHUHUVSXQV $FHDVW
PHWRG DUH UROXO GH D RIHUL XQXL FOLHQW SRVLELOLWDWHD GH D DFKL]LLona
LQIRUPDLL GHVSUH R UHVXUV GH SH XQ VHUYHU VDX FKLDU GHVSUH XQ VHU-
ver Web sau server proxy, fU D LPSOLFD R DFLXQH GLUHFW DVXSUD
unei resurse (de exemplu, în vederea negocierii transmiterii de date).
8Q H[HPSOX GH OLQLH GH FHUHUH FDUH VH DGUHVHD] XQXL proxy (folosind un
85, GDW vQ IRUPD DEVROXW
HVWH XUPWRUXO
GET http://students.infoiasi.ro/~revista HTTP/1.1
HO PDL IUHFYHQW PRG GH D VSHFLILFD R UHVXUV HVWH SULQ FDOHD DEVROXW
SkQ OD DFHDVWD DYkQG 85,-ul specificat ca valoare a atributului Host. Un
H[HPSOX GH FHUHUH vQ YHGHUHD RELQHUHD UHVXUVHL /pub/index.html de pe
VHUYHUXO VWXGHQLORU GH OD )DFXOWDWHD GH ,QIRUPDWLF GLQ ,DüL VH YD IRUPXOD
GXS VWDELOLUHD FRQH[LXQLL 73 SH SRUWXO  DO PDüLQLL students.infoiasi.ro
astfel:
GET /pub/index.html HTTP/1.1
Host: students.infoiasi.ro
DOHD DEVROXW QX SRDWH IL YLG HD WUHEXLH V FRQLQ FHO SXLQ Faracterul
ŵ FDUH UHSUH]LQW GRFXPHQWXO UGFLQ RULFH GHVFULHUH LQYDOLG D UHVXUVHL
ILLQG VHPQDODW SULQWU-XQ FRG GH VWDUH FRUHVSXQ]WRU
Pot fi specificate atribute de cerere care sunt folosite pentru a transmite
LQIRUPDLL VXSOLPHQWDUH GHVSUH DFHD FHUHUH üL GHVSUH FOLHQW 6H SRDWH IDFH R
DQDORJLH vQWUH WULPLWHUHD XQHL PHWRGH +773 FX DSHOXO XQHL IXQFLL GLQWU-un
Calea de acces la Web 21
OLPEDM GH SURJUDPDUH XQGH DWULEXWHOH UHSUH]LQW SDUDPHWULL GH LQWUDUH
Câteva dintre aceste atribute specifice cererii sunt: Accept, Accept-Encoding,
Authorization, From, Host, Proxy-Authorization, Referer sau User-Agent (a se
FRQVXOWD üL VHFLXQHD  D FDSLWROXOXL GH ID
0HVDMXOGHWLSUVSXQVResponse)
'XS SULPLUHD üL LQWHUSUHWDUHD XQXL PHVDM GH WLS FHUHUH üL LQWHUSUHWDUHD OXL
un servHU +773 UVSXQGH FX XQ PHVDM GHQXPLW UVSXQV )RUPD JHQHUDO D
acestuia este:
5VSXQV +773 linie-de-stare
(antet-general | antet-cerere | antet-entitate)*
CRLF
[ corpul-mesajului ]
Linia de stare începe cu versiunea protocolului HTTP implementat de
FWUH VHUYHU üL FRQWLQX FX XQ FRG GH VWDUH UHSUH]HQWkQG QXPUXO DVRFLDW GH
FWUH VSHFLILFDLD +773 XQHL DQXPLWH VLWXDLL D VHUYHUuOXL vQ XUPD WUDWULL
XQHL FHUHUL 8UPHD] XQ WH[W H[SOLFDWLY SHQWUX FRGXO GH VWDUH FDUH QX
WUHEXLH V ILH VWULFW HO SXWkQG IL GHFLV RGDW FX LPSOHPHQWDUHD SURpriu-]LV
GDU HVWH LQGLFDW V FODULILFH VLWXDLD HxSULPDW GH FRGXO GH VWDUH
Linie-de-stare = versiune-HTTP SP cod-de-stare SP
text-explicativ CRLF
Cod-de-stare este format din trei cifre organizate în categorii de VWUL
DVWIHO vQFkW FRGXULOH GLQ DFHHDüL FDWHJRULH VH UHIHU OD VWUL VLPLODUH HOH VXQW
GLVWLQVH GXS SULPD FLIU vQ PRGXO XUPWRU
• 1xx: Informativ – FHUHUHD D IRVW SULPLW FRPXQLFDLD FRQWLQX
• 2xx: Succes – FHUHUHD D IRVW SULPLW LQWHUSUHWDW üL DFFHSWDW GH FWUH
server;
• [[ 5HGLUHFLRQDUH – pentru a atinge scopul cererii este nevoie de o
inteURJDUH XOWHULRDU HYHQWXDO FWUH XQ DOW VHUYHU
• [[ (URDUH SURYRFDW GH FWUH FOLHQW – ILH FHUHUHD HVWH LQFRUHFW GLQ
punct de vedere sintactic, fie nu poate IL VDWLVIFXW
• [[ (URDUH SURYRFDW GH FWUH VHUYHU – FHUHUHD HVWH DSDUHQW FRUHFW GDU
serverul nu o poate îndeplini din diferite motive.
7H[WXO H[SOLFDWLY HVWH LQWURGXV SHQWUX D RIHUL R LQIRUPDLH VXSOLPHQWDU
putând fi de folos dezvoltatorilor de apOLFDLL :HE FXP DU IL SURJUDPDUHD OD
nivelul serverului HTTP prin diferite tehnologii, precum CGI, PHP sau JSP
GHWDOLL vQ *HWWV  üL %XUDJD
Tehnologii XML22
'H DVHPHQHD SULQ LQWHUPHGLXO DWULEXWHORU VSHFLILFH UVSXQVXULORU +773
VH SRW WUDQVPLWH LQIRUPDLL DGLLRQDOH kWHYD GLQWUH DWULEXWHOH VSHFLILFH
UVSXQVXULORU VXQW XUPWRDUHOH Location, Server sau WWW-Authenticate
YH]L VHFLXQHD XUPWRDUH
Jurnalizarea cererilor
8Q H[HPSOX GH ILüLHU GH MXUQDOL]DUH D FHUHULORU +773 HVWH XUPWRUXO vQ
acest caz, este voUED GH ILüLHUXO JHQHUDW GH VHUYHUXO $SDFKH
YH]L üL %XUDJD
üL $FRVWFKLRDLH
dyn419.win.tue.nl – licenta [29/Sep/2005:11:08:04 +0300]
GET /~busaco/teach/bsc2006/ HTTP/1.1 200 24757
dyn419.win.tue.nl – – [29/Sep/2005:11:07:54 +0300]
GET /~busaco/teach/bsc2006 HTTP/1.1 401 1283
193.226.24.219 – – [29/Sep/2005:11:06:17 +0300]
GET / HTTP/1.1 403 1039
83.115.156.9 – – [29/Sep/2005:11:05:59 +0300]
GET /~busaco/paint/days/trio.jpg HTTP/1.1 304 –
proxy.info.uaic.ro – – [29/Sep/2005:11:05:38 +0300]
GET /favicon.ico HTTP/1.1 404 1035
rat.cluj.astral.ro – – [29/Sep/2005:11:04:27 +0300]
GET /~linux/ HTTP/1.0 200 4974
triton.france3.fr – – [29/Sep/2005:11:04:27 +0300]
GET /~acf/ HTTP/1.1 200 446
triton.france3.fr – – [29/Sep/2005:11:04:27 +0300]
GET /~acf HTTP/1.1 301 327
crawl.googlebot.com – – [29/Sep/2005:11:03:11 +0300]
GET /~busaco/paint/works/Forms.jpg HTTP/1.1 304 –
2.4. Atributele HTTP
Vom descrie în continuare o serie dintre atributele vehiculate în cadrul
cereULORU VDX UVSXQVXULORU +773
Accept
(VWH XQ DWULEXW VSHFLILF XQHL FHUHUL +773 üL DUH XQ URO LPSRUWDQW vQ
VWDELOLUHD WLSXOXL FRQLQXWXOXL SULQ LQWHUPHGLXO XQHL QHJRFLHUL FRQGXVH GH
server. Prin intermediul acestui atribut, clientul are posibilitatea de a
sSHFLILFD WLSXULOH PHGLD SH FDUH DFHVWD OH UHFXQRDüWH üL OH SRDWH LQWHUSUHWD
VDX SRDWH LQGLFD QXPDL WLSXO GH UVSXQVXUL SUHIHUate.
6LQWD[D HVWH GDW PDL MRV
Calea de acces la Web 23
Accept = Accept : ( tip_media [ parametri ] )*
Parametrul tip_media VH UHIHU OD WLSXULOH GH GDWH YHKLFXODWH üL DUH IRUPD
tip_media = (*/*) | (tip / *) | (tip / subtip)
Componenta parametri are sintaxa:
parametri = ; q = valoare_calitate (extensie)*
Caracterul asterisc „*” este folosit pentru a specifica un grup de tipuri
folosind conYHQLLOH 0,0( SUH]HQWDWH PDL VXV Å*/*µ UHSUH]LQW WRDWH
tipurile media, iar „tip/*µ GHVHPQHD] WRDWH VXEWLSXULOH 0,0( DOH WLSXOXL
VSHFLILFDW GH FRQVWUXFLD tip. Fiecare tip_media poate fi urmat de unul sau
PDL PXOL SDUDPHWUL vQFHSkQG FX SDUDPHWUXO Åq” denumit FDOLWDWH UHODWLY
(relative quality
FDUH SHUPLWH DVRFLHUHD XQHL FDOLWL UHODWLYH SH R VFDO GH OD
0 la 1 a acestuia.
Un exemplu:
Accept: image/*; q=0.2, image/jpeg
$FHDVW FRQVWUXFLH VSHFLILF SUHIHULQD SHQWUX WLSXO 0,0( image/jpeg,
LDU GDF Dcest tip nu este disponibil, atunci se poate returna orice tip de
imagine.
Allow
6SHFLILF PHWRGHOH +773 SHUPLVH D IL IRORVLWH 'H FHOH PDL PXOWH RUL DSDUH
într-XQ UVSXQV FX FRGXO GH VWDUH  Method Not Allowed), indicând
FOLHQWXOXL FH PHWRG SRDWH IL XWLOL]DW
Authorization
8Q FOLHQW FDUH GRUHüWH V VH DXWHQWLILFH vQ JHQHUDO GXS SULPLUHD XQXL
UVSXQV GH WLS  Unauthorized
WUHEXLH V LQFOXG vQ FHUHUH DWULEXWXO
Authorization, DYkQG FD YDORDUH LQIRUPDLD QHFHVDU DXWHQWLILFULL
ÍQ JHQHUDO GXS FH XQ FOLHQW VH DXWHQWLILF OD XQ VHUYHU üL RELQH
DXWRUL]DLLOH QHFHVDUH DFHVWHD DU WUHEXL V ILH YDODELOH üL SHQWUX XUPWRDUHOH
FHUHUL QHFHVDUH SDUFXUJHULL XQHL SUH]HQWUL SHQWUX R SHULRDG GH WLPS
determinaW
Un exemplu efectiv de folosire a metodei de autorizare în cazul
VHUYHUXOXL $SDFKH HVWH GLVSRQLELO vQ OXFUULOH %XUDJD  üL %XUDJD üL
$FRVWFKLRDLH
Tehnologii XML24
Cache-Control
Permite controlul cache-ului, de cele mai multe ori la nivelul proxy-ului
GLQWUH FOLHQW üL VHUYHU
Sintaxa acestui atribut HVWH XUPWRDUHD
Cache-Control = Cache-Control : (directiva = valoare)*
Directivele cele mai folosite sunt:
• max-age GHVHPQHD] WLPSXO PVXUDW vQ VHFXQGH
vQ FDUH VLVWHPXO
de cache YD SVWUD R FRSLH D UHVXUVHL :HE
• public VSHFLILF IDSWXO F GDWHOH SRW IL VWRFDWH GH FWUH RULFH VLVWHP
de cache üL DFFHVDWH IU UHVWULFLL
• private VHPQLILF IDSWXO F GDWHOH SRW IL PHPRUDWH GH VLVWHPXO GH
FDFKH vQV QX YRU IL SDUWDMDWH DOWRU DSOLFDLL
• no-cache VSHFLILF VLVWHPXOXL GH cache V UHvPSURVSWH]H GH ILHFDUH
GDW Uesursele solicitate de un client;
• no-store LQKLE VWRFDUHD GDWHORU OD QLYHOXO VLVWHPXOXL GH cache
RSLXQH IRORVLWRDUH vQ FD]XO WUDQVIHUXOXL GH LQIRUPDLL VHQVLELOH
DFHDVW GLUHFWLY HVWH LJQRUDW GH ,QWHUQHW ([SORUHU GHFL QX SRDWH IL
IRORVLW vQ SUDFWLF
• must-revalidate VHPQLILF IDSWXO F VLVWHPXO GH cache WUHEXLH V
verifice exSLUDUHD GDWHORU GHLQXWH OD ILHFDUH FHUHUH
Un exemplu ar putea fi cel de mai jos:
Cache-Control: max-age=600, no-cache=Set-Cookie
Connection
Este un atribut general fRORVLW SHQWUX D VSHFLILFD DQXPLWH SURSULHWL OHJDWH
GH FRQH[LXQH vQ JHQHUDO 73,3
üL VH DSOLF GRDU FRPuQLFDLHL vQWUH GRX
DSOLFDLL +773 GLQ ODQXO XQRU FHUHUL VDX UVSXQVXUL
2 YDORDUH VSHFLILF DFHVWXL DWULEXW HVWH Åcloseµ üL VHPQDOHD] vQFKLGHUHD
FRQH[LXQLL GXS WULPLWHUHD PHVDMXOXL $FHVW DWULEXW HVWH XWLO vQ LPSOHPHQ-
WDUHD FRQH[LXQLORU SHUVLVWHQWH üL LQGLF ILH F HVWH FXSULQV vQ FHUHUH VDX
UVSXQV
vQWUHUXSHUHD FRQH[LXQLL GXS vQFKHLHUHD FLFOului cerere-UVSXQV
actual.
Content-Disposition
PerPLWH R DQXPLW IOH[LELOLWDWH vQ WUDQVPLWHUHD XQRU WLSXUL SDUWLFXODUH GH
UHSUH]HQWUL GH UHVXUVH HD PDL XWLOL]DW YDULDQW HVWH FHD vQ FDUH VH
VSHFLILF SURJUDPXOXL GH QDYLJDUH V VDOYH]H FD ILüLHU GDWHOH UHFHSLRQDWH
în loFXO UHGULL RELüQXLWH FD vQ H[HPSOXO XUPWRU
Calea de acces la Web 25
Content-Disposition: attachment; filename=articol.pdf
Content-Type
'HVHPQHD] WLSXO 0,0( DO UHSUH]HQWULL UHVXUVHL VROLFLWDWH GH XQ FOLHQW RUL
transmise de server. Acest atribut trebuie specificat obligatoriu în cadrul
unui script CGI (Buraga et al., 2002).
From
RQLQH R DGUHV GH e-mail vQ JHQHUDO FHD D XWLOL]DWRUXOXL DSOLFDLHL +773
FOLHQW 9DORDUHD DFHVWXL DWULEXW SRDWH IL IRORVLW SHQWUX vQUHJLVWUDUHD
DFFHVXOXL vQ ILüLHUHOH-jurnal (log-urile) ale serverului HTTP, în scopul
identificULL FHUHULORU LQYDOLGH VDX UHVSLQVH 7ULPLWHUHD DFHVWHL LQIRUPDLL QX
HVWH FRQVLGHUDW R SUREOHP GH VHFXULWDWH FL PDL GeJUDE XWLO SHQWUX GH-
tecWDUHD FHUHULORU HIHFWXDWH VXE DOW QXPH VDX vQ FD]XO URERLORU :HE SHQWUX
SRVLELOLWDWHD FRQWDFWULL SHUVRDQelor resSRQVDELOH OD DSDULLD XQRU DQRPDOLL
GH IXQFLRQDUH DOH URERLORU UHspectivi.
Host
5HSUH]LQW XQ DWULEXW IRORVLW SHQWUX VSHFLILFDUHD DGUHVHL ,QWHUQHW üL D
SRUWXOXL vQ YHGHUHD VWDELOLULL H[DFWH D ORFDLHL XQGH VH DIO UHVXUVD FUHLD L VH
DGUHVHD] FHrerea. Acest atribut trebuie inclus în orice cerere HTTP/1.1,
WUHEXLH V UHIOHFWH vQWRFPDL LGHQWLWDWHD VHUYHUXOXL-RULJLQH VDX D SRULL
indicate în URI-XO RULJLQDO üL DUH UROXO vQGHSUWULL SoVLELOHORU DPELJXLWL
Sintaxa acestui atribut este:
Host = Host : URI [ : port ]
Pentru un URI de genul http://www.infoiasi.ro/fcs.css FHUHUHD WUHEXLH V
FRQLQ
GET /fcs.css HTTP/1.1
Host: www.infoiasi.ro
ÍQ +773 SUH]HQD DWULEXWXOXL Host HVWH REOLJDWRULH FKLDU üL FX R
YDORDUH YLG XQ proxy HTTP/1.1 trebuLH V YHULILFH F ILHFDUH FHUHUH LQFOXGH
DFHVW DWULEXW 6HUYHUHOH +773 WUHEXLH V UVSXQG GH ILHFDUH GDW FX
codul de stare 400 (Bad Request) la cererile HTTP/1.1 care nu includ
atributul Host.
Location
$FHVW DWULEXW VSHFLILF UVSXQVXULORU +773 HVWH XWLOL]DW vQ FRQMXQFLH FX
coduri de stare de tip 3xx SULQ FDUH VH LQGLF SURSULHWL DOH OoFDLHL FXUHQWH
Tehnologii XML26
a resursei) sau 201 (Created
ÍQ DPEHOH VLWXDLL VH SRDWH VWDELOL ORFDLD
FXUHQW VDX SUHIHUDW D UHVXUVHL VXE IRUPD XQXL 85, DEVROXW
Sintaxa acestXL DWULEXW HVWH XUPWRDUHD
Location = Location : URI_absolut
8Q H[HPSOX GH UHGLUHFLRQDUH D FOLHQWXOXL browser-ului) Web este:
Location: http://www.infoiasi.ro/~busaco/cv.html
Referer
Prin intermediul acestui atribut, clientul poate specifica, în interesul
serverului, URI-XO GH OD FDUH UHVXUVD D IRVW RELQXW 6SUH H[HmSOX GDF
într-XQ GRFXPHQW ;+70/ H[LVW R OHJWXU VSUH DOW GRFXPHQW FOLHQWXO
poate include în cererea pentru al doilea document, ca Referer, URI-ul prin
FDUH D IRVW RELQXW GRFXPHQWXO LQLLDO YH]L üL FHOH GLVFXWDWH vQ FDGUXO
VHFLXQLL  D Fapitolului 2).
Server
RQLQH LQIRUPDLL GHVSUH DSOLFDLD VHUYHU FXP DU IL QXPHOH YHUVLXQHD
SURGXFWRUXO DSOLFDLLOH FRPSDWLELOH (VWH SRVLELO üL DWDüDUHD XQRU
LQIRUPDLL üL FRPHQWDULL VSHFLILFH PDL PXOWRU DSOLFDLL FDUH Geservesc
cererile la nivelul serverului HTTP (e.g., modulele Apache instalate,
VHUYHUHOH GH DSOLFDLL :HE HWF
Un exemplu ar putea fi:
Apache/2.0.48 (Win32) mod_perl/1.99_10-dev Perl/v5.8.0
PHP/4.3.4 mod_python/3.0.3 Python/2.2.2
WWW-Authenticate
Atributul WWW-Authenticate trebuie inclus în orice cerere 401 (Unautho-
rized
SHQWUX D RIHUL DSOLFDLHL-XWLOL]DWRU LQIRUPDLL QHFHVDUH DXWHQWLILFrii în
UDSRUW FX UHVXUVD FHUXW $WULEXWXO FRPSOHPHQWDU DFHVWXLD SHQWUX FHUHUH
este Authorization.
O serie de alte atribute sunt descrise în lucrarea Shiflett, 2003.
/RFXO+773vQDUKLWHFWXUDVSDLXOXL:::
'XS FXP DP Y]XW OD vQFHSXWXO FDSLWROXOXL :HE-ul este compus din
UHVXUVH GLVWULEXLWH SULQFLSDOHOH DVSHFWH FDUH WUHEXLH V ILH DYXWe în vedere
fiind identificarea, LQWHUDFLXQHD üL reprezentarea prin diverse formate de date a
DFHVWRU UHVXUVH FRQIRUP -DFREV üL :DOVK
Calea de acces la Web 27
ÍQ FHHD FH SULYHüWH LGHQWLILFDUHD UHVXUVHORU ILHFDUH UHVXUV WUHEXLH V ILH
DGUHVDELO )LHFUHL UHVXUVH WUHEXLH V L VH DVRFLH]H XQ 85, GLstinct,
evitându-VH DVWIHO DPELJXLWLOH 'HVLJXU ILHFDUH 85, YD DYHD YD IL VWDELOLW
de) un proprietar – SHUVRDQ RUJDQL]DLH VSHFLILFDLH WHKQLF HWF
RQVRULXO :HE vQFXUDMHD] IRORVLUHD vQ PDQLHU FRQVLVWHQW D 85,-urilor,
pe baza schemelor existente, înregistrate la IANA. De asemenea, trebuie
LQXW FRQW GH IDpWXO F QDWXUD XQHL UHVXUVH QX HVWH GDW GH DGUHVD HL FL GH
reprezentare – GLQ DFHVW SXQFW GH YHGHUH XQ 85, WUHEXLH V ILH opac. Pentru
a identifica în mod indirect o resurV VHFXQGDU ÅOHJDWµ RUL ÅVFXIXQGDWµ
vQ UHVXUVD LQLLDO VH SRW XWLOL]D LGHQWLILFatorii de fragment (detalii în
Buraga, 2005).
$VLJXUDUHD LQWHUDFLXQLL VH UHDOL]HD] SULQ LQWHUPHGLXO XQXL agent Web,
FDUH SRDWH IL R SHUVRDQ VDX R DSOLFDLH Voftware ce are acces la Web.
3URJUDPXO DFLRQkQG vQ QXPHOH XQXL XWLOL]DWRU XPDQ SRDUW QXPHOH GH
agent-utilizator. Componentele precum serverele, proxy-XULOH URERLL QDYL-
gatoarele, player-ele multimedia, programele de oglindire, agregatoarele de
üWLUL etc. se numesc DJHQL VRIWZDUH.
RPXQLFDUHD vQWUH DFHüWL DJHQL LPSOLF 85,-uri (pentru adresare),
PHVDMH üL D GDWH GLDORJXO GHFXUJkQG FRQIRUP XQRU SURWRFRDOH ,QWHrnet
precum HTTP, descris în subcapitolul 2. Structura mesajelor interschimbate
depinde de protocol, dar din punct de vedere conceptual putem considera
F WRate mesajele sunt compuse din date LQIRUPDLLOH SURSULX-]LVH
üL
meta-date (date descriind datele vehicuODWH
DFHVWHD GLQ XUP SRW IL
specificate de atributele din cadrul anteturilor HTTP.
$FFHVXO OD R UHVXUV :HE VH YD UHDOL]D YLD 85, – DFLXQH QXPLW üL
GHUHIHUHQLHUH – HYHQWXDO LPSOLFkQG PDL PXOL SDüL GH H[HPSOX vQ VLWXDLD
QHJRFLHULL FRQLQXWXOXL
UH]XOWkQG R UHSUH]HQWDUH D UHVXUVHL VROLFLWDWH 2
reprezentare GHQRW GDWHOH FDUH FRGLILF LQIRUPDLD GHVSUH VWDUHD DFWXDO
D
XQHL UHVXUVH RQVRULXO :HE UHFRPDQG HYLWDUHD LQFRQVLVWHQHORU GLQWUH
GDWHOH UHSUH]HQWULL üL PHWD-date (de exemplu, meta-GDWHOH SRW GHVFULH F
UHSUH]HQWDUHD YD IL GLVSRQLELO vQ IRUPDW WH[WXDO GDU vQ UHDOLWDWe clientul
UHFHSLRQHD] UHVXUVD UHSUH]HQWDW vQWU-un format binar).
Un alt aspect important este cel de asigurare a VLJXUDQHL LQWHUDFLXQLL
$VWIHO DJHQWXO FDUH DFFHVHD] R UHVXUV QX WUHEXLH V UHDOL]H]H QLFL R
DFLXQH FRODWHUDO side effect) în cadrXO LQWHUDFLXQLL 'H H[Hmplu, la
VROLFLWDUHD XQHL UHSUH]HQWUL D UHVXUVHL YLD PHWRGD *(7 D SUotocolului
+773 QX WUHEXLH DOWHUDW VWDUHD UHVXUVHL GRULWH i.e., incrementarea unui
FRQWRU DO QXPUXOXL GH DFFHVUL DOH XQXL GRFXPHQW
'H DVHPHQHD
proprietarul XQXL 85, DU WUHEXL V RIHUH UHSUe]HQWUL DOH UHVXUVHL UHVSHFWLYH
într-R PDQLHU FRQVLVWHQW üL SUHGLFWLELO
Tehnologii XML28
/D ILQDOXO DFHVWXL FDSLWRO WUHEXLH V SUHFL]P üL F SURWRFROXO +773
MRDF XQ URO LPSRUWDQW vQ FDGUXO DUKLWHFWXULL RULHQWDWH VSUH VHUYLFLL vQ JHne-
UDO üL VSUH VHUYLFLLOH :HE vQ VSHFLDO – GHWDOLL vQ FDSLWROXO  DO FULL GH ID
5HIHULQH
Berners-Lee, T.; Fielding, R.; Masinter, L., Uniform Resource Identifiers (URI): Generic
Syntax, RFC 2396, Internet Engineering Task Force (IETF), 2004:
http://www.ietf.org/rfc/rfc2396.txt
Bray, T. et al. (eds.), Extensible Markup Language 1.0 (Third Edition), W3C
Recommendation, Boston, 2004: http://www.w3.org/TR/REC-xml
Buraga, S., Tehnologii Web 0DWUL[ 5RP %XFXUHüWL  http://www.infoiasi.ro/~busaco/
books/web.html
Buraga, S. et al., 3URJUDPDUH :HE vQ EDVK üL 3HUO 3ROLURP ,DüL  http://www.infoiasi.ro/
~cgi/
Buraga, S., Proiectarea siturilor Web HGLLD D GRXD
3ROLURP ,DüL  http://
www.infoiasi.ro/~design/
%XUDJD 6 $FRVWFKLRDLH ' „Administrarea serverelor Web”, NET Report, iulie
2002: http://www.infoiasi.ro/~busaco/publications/articles/admin-web.pdf
Dürst, M.; Suignard, M. (eds.), Internationalized Resource Identifiers, RFC 3987,
Internet Engineering Task Force (IETF), 2005: http://www.ietf.org/rfc/ rfc2987.txt
Freed, N.; Borenstein, N., Multipurpose Internet Mail Extensions (MIME) Part One:
Format of Internet Message Bodies, RFC 2045, Internet Engineering Task Force
(IETF), 1996: http://www.ietf.org/rfc/rfc2045.txt
Freed, N.; Borenstein, N., Multipurpose Internet Mail Extensions (MIME) Part Two:
Media Types, RFC 2046, Internet Engineering Task Force (IETF), 1996:
http://www.ietf.org/rfc/rfc2046.txt
Gettys, J. et al., Hypertext Transfer Protocol ± HTTP/1.1, RFC 2616, Internet
Engineering Task Force (IETF), 1999: http://www.ietf.org/rfc/rfc2616.txt
Jacobs, I.; Walsh, N., Architecture of the World Wide Web, Volume One, W3C
Recommendation, Boston, 2004: http://www.w3.org/TR/webarch/
Kindberg, T.; Hawke, S., The ’tag’ URI Scheme, RFC 4151, Internet Engineering Task
Force (IETF), 2005: http://rfc4151.x42.com/
Masinter, L., The ’data’ URL scheme, RFC 2397, Internet Engineering Task Force
(IETF), 1998: http://www.faqs.org/rfcs/rfc2397.html
Naik, D., Internet Standards and Protocols, Microsoft Press, Redmond, 1998
Rescorla, E., HTTP Over TLS, RFC 2818, Internet Engineering Task Force (IETF),
2000: http://www.ietf.org/rfc/rfc2818.txt
Shiflett, C., HTTP Developer’s Handbook, Sams Publishing, 2003
* * *, World-Wide Web Consortium, Boston, 2006: http://www.w3.org/
Capitolul 2
Modele de date semistructurate.
Familia XML
„(VHQLDOXO vQ OXPkQDUH QX HVWH FHDUD FH ODV XUPD FL OXPLQD”
Antoine de Saint-Exupéry
Capitolul expune cele mai importante aspecte privitoare la meta-limbajul
XML, oferind o privire de ansamblu asupra tehnologiilor XML în
YLJRDUH 6H SUH]LQW PDQLHUHOH GH WUDQVIRUPDUH YDOLGDUH üL LQWHURJDUH
a documentelor XML prin intermediul unor limbaje standardizate ca
;3DWK ;6/ ;0/ 6FKHPD 5(/$; 1* üL ;4XHU 'H DVHPHQHD
materialul expunH PRGDOLWLOH GH VWRFDUH üL PDQDJHPHQW DO LQIRUPD-
LLORU VHPLVWUXFWXUDWH YLD ED]H GH GDWH QDWLYH ;0/ 6XQW H[HPSOLILFDWH
üL GLYHUVH OLPEDMH ED]DWH SH ;0/ /D ILQDOXO FDSLWROXOXL VH IDFH R
SUH]HQWDUH D üDEORDQHORU GH SURLHFWDUH ;0/
Cuvinte-cheie: date semistructurate, XML, meta-OLPEDM DSOLFDLL
;0/ üDEORDQH VWUXFWXUDOH
1. Introducere
1.1. Formate de date
DSLWROXO GH ID VH FRQFHQWUHD] DVXSUD PRGHOHORU GH UHSUH]HQWDUH D
UHVXUVHORU :HE 'DF SHQWUX LGHQWLILFDUH :HE-ul recurge la identificatori
uniforPL GH UHVXUVH GHVFULüL vQ FDSLWROXO DQWHULRU LDU SHQWUX LQWHUDFLXQH VH
IRORVHüWH vQ PRG X]XDO SURWRFROXO +773 UHSUH]HQWDUHD UHVXUVHORU VH
UHDOL]HD] YLD IRUPDWH GH GDWH $UKLWHFWXUD VSDLXOXL ::: vQFXUDMHD]
refolosirea formatelor existente, printre aspectele importante legate de
aceasta putându-VH HQXPHUD -DFREV üL :DOVK
Tehnologii XML30
• DGRSWDUHD IRUPDWHORU WH[WXDOH vQ FRQWUDVW FX FHOH ELQDUH YH]L üL
%XUDJD  üL %XUDJD
• FRQWUROXO YHUVLXQLORU R UHVXUV SRDWH HYROXD vQ WLPS DSUkQG
necesitatea FXQRDüWHULL LVWRULFXOXL PRGLILFULORU VDOH VDX PLQLPDO
data ultimei actuDOL]UL
• H[WHQVLELOLWDWHD PDL DOHV vQ FHHD FH SULYHüWH KLSHUWH[WXO R UHVXUV
SRDWH LQFOXGH UHIHULQH üLVDX DOWH WLSXUL GH FRQLQXW PRGDOLWLOH GH
extindere fiind, practic, infinite);
• FRPSXQHUHD IRUPDWHORU R UHVXUV SRDWH IL UHSUH]HnWDW SULQWU-un
format de date care în anumite cirFXPVWDQH IXQFLRQHD] FD XQ
FRQWDLQHU DO XQRU IRUPDWH HWHURJHQH ILHFDUH DGUHVDW üL SURFHVDW
într-un mod specific – de exemplu, un document poate avea
„scufundate” meta-GDWH SULYLWRDUH OD SURSULHWLOH DFHVWXLD SOXV
WLSXUL GH FRQLQXW GLYHUVH LPDJLQL YHFWRULDOH VDX UDVWHU OXPL '
expresii matematice etc.);
• VHSDUDUHD FRQLQXWXOXL SUH]HQWULL üL LQWHUDFLXQLL DFHVWH WUHL
aspecte trebuie pe cât posLELO V ILH WUDWDWH vQWU-R PDQLHU LQGHSHQ-
GHQW
'DF SkQ vQ DQLL  FHUFHWULOH V-au axat asupra modului de procesare
vQ DFHD SHULRDG LQIRUPDWLFLHQLL DX IRVW SUHRFuSDL PDL DOHV GH WHKQLFLOH GH
SURLHFWDUH D DOJRULWPLORU
GDWHOH ILLQG PXOW PDL SXin importante decât
codul-VXUV GHFHQLLOH  üL  DOH VHFROXOXL ;; DX FRQGXV OD DSDULLD XQRU
IRUPDWH GH GDWH SURSULHWDUH IRORVLWH vQ VSHFLDO GH DSOLFDLLOH GH ELURX GDWHOH
ILLQG OD IHO GH LPSRUWDQWH FD üL FRGXO DFHVWD GLQ XUP GH FHOH PDL PXOWH
ori, pXWkQG IL FRQFHSXW FKLDU GH XWLOL]DWRU YLD XQRU IDFLOLWL SUHFXP
macro-urile). Cu proliferarea serviciilor Internet, mai ales a Web-ului, datele
au putut fi publicate liber, folosindu-VH XQ IRUPDW SUH]HQWDLRQDO SXV OD
GLVSR]LLH GH +70/ ÍQFHSkQG FX QRXO mileniu, datele sunt considerate
PXOW PDL LPSRUWDQWH GHFkW FRGXO 'DFRQWD 2EUVW üL 6PLWK
DWHQLD
F]kQG DVXSUD PRGHOULL FkW PDL HILFLHQWH D LQIRUPDLilor, prin intermediul
unui format deschis, extensibil – subiectul acestui capitol. Mai mult decât
atât, modelarea datelor nu reIOHFW GRDU VLQWD[D – VSHFLILFDW SULQWU-un set
GH FRQYHQLL GH PDUFDUH – FL üL VHPDQWLFD – pâQ DFXP UHSUH]HQWDW GH
codul-VXUV DO SURJUDPHORU FH SUelucrau acele date.
1.2. Modele de date
'DF IRUPDWHOH GH GDWH UHIOHFW PDQLHUD HIHFWLY GH VWRFDUH üL SUH]HQWDUH D
LQIRUPDLLORU OD QLYHO FRQFHSWXDO WUHEXLH DGRSWDW PFDU XQ PRGHO GH
Modele de date semistructurate. Familia XML 31
UHSUH]HQWDUH (YROXLD LQIUDVWUXFWXULL FRPSXWDLRQDOH D FRQGXV üL OD
adoptarea unor modele de date diferite.
$UKLWHFWXULOH WUDQ]DFLRQDOH DOH anilor ’60-’70 ai secolului trecut se pretau
pentru modele de reprezentare ierarhice (arborescente) sau bazate pe
grafuri.
2GDW FX DSDULLD vQ DQLL · D UHHOHORU ORFDOH GH FDOFXODWRare, au fost dez-
voltate arhitecturi client/server, punctul central fiiQG GHLQXW GH PRGHOHOH
relaLRQDOH GH UHSUH]HQWDUH üL VWRFDUH D GDWHORU OLHQLORU OL VH SHUPLWH LQWHU-
SUHWDUHD GDWHORU GHLQXWH OD QLYHO GH VHUYHU vQ GLYHUVH FRPELQDLL JUDLH
unui limbaj structurat de interogare (SQL – Structured Query Language),
uQRU LQWHUIHH GH SURJUDPDUH D DSOLFDLLORU $3, – Application Programming
Interface
üL XQRU ÅSXQLµ GH DVLJXUDUH D FRQHFWLYLWLL SUHFXP 2'% –
Open Database Connectivity – sau JDBC – Java Database Connectivity). Apar
vQV SUREOHPH SULYLWRDUH OD LQGH[DUH QRUPDOL]DUH LQWHJULWDWH UHIHUHQLDO
inclusiv anumite costuri (legate, de exemplu, de optimizare sau
denormalizare) (vezi Fotache, 2005).
3UH]HQWXO HVWH ÅJXYHUQDWµ GH DUKLWHFWXULOH QDYLJDLRQDOH ED]DWH SH
KLSHUWH[W XWLOL]DWH GH R SOHLDG GH GLVSR]LWLve, inclusiv cele mobile. Daum
üL 0HUWHQ
FRQVLGHU F PRGHOHOH GH GDWH FHOH PDL SRWULYLWH VXQW FHOH
recurgând la gramaticile regulate (Jucan, 1999). Astfel, trebuie impuse ce-
ULQH VXSOLPHQWDUH SHQWUX XQ PRGHO GH GDWH ÅLGHDOµ DOLQLDW GLUHFLLORU
actuale de evoOXLH D :HE-ului:
• asigurarea accesului la meta-date (datele privitoare la date) –
WUHEXLH RIHULWH IDFLOLWL SHQWUX SXEOicarea, generarea (semi-)auto-
PDW WUDQVIRUPDUHD vQ DOWH IRUPDWH D PHWD-datelor;
• adnotarea resurselor, inclusiv a meta-datelor;
• SRVLELOLWDWHD UHDOL]ULL GH LQWHURJUL IOH[LELOH
• YHULILFDUHD LQWHJULWLL – FX REVHUYDLD F PHQLQHUHD XQHL LQWHJULWL
UHIHUHQLDOH OD QLYHO JOREDO HVWH LPSRVLEiO
• IDFLOLWDUHD UHDOL]ULL GH WUDQVIRUPUL DOH GDWHORU FX JHQHUDUHD GH
documente prezeQWkQG DOWH VWUXFWXUL ILOWUUL üL LQWHURJUL VLPSOH
• GHSHQGHQD GH FRQWH[WXO SURFHVULL üLVDX DO SUH]HQWrii;
• utilizarea de formate standardizate, deschise.
1.3. Date semistructurate
ÍQ PRG FODVLF vQDLQWH GH D QH SXQH SUREOHPD VWRFULL HIHFWLYH D GDWHOor în
FDGUXO XQHL ED]H GH GDWH WUHEXLH V FRQFHSHP R VFKHP definind structurile
SULORU GH LQIRUPDLH SH FDUH GRULP V OH SVWUP ÍQ FD]XO PRGHOXOXL
UHODLRQDO DFHDVW VFKHP VSHFLILF QXPUXO üL WLSXO FkPSXULORU GH GDWH
Tehnologii XML32
SOXV UHODLLOH FH VH SRW IRUPD vQWUH HOH RQFHSWXDO VH DSHOHD] OD PRGHOXO
entitate-UHODLH (5 – Entity-Relationship
6FKHPD GH]YROWDW HVWH XQD ULJLG,
vQ VHQVXO F WRDWH GDWHOH VWRFDWH WUHEXLH V VH FRQIRUPH]H UHVWULFLLORU
LPSXVH GH DFHDVWD üL PDL PXOW VFKHPD WUHEXLH SUoiectaW vQDLQWH GH D
SRSXOD ED]D GH GDWH FX LQIRUPDLL 6H SHUPLWH DüDGDU VWRFDUHD XQXL YROXP
larg de date uniforme VWUXFWXUDWH vQ PDQLHU VLPLODU
([LVW vQV VLWXDLL FkQG DFHDVW DERUGDUH HüXHD] ÍQ VSHFLDO vQ FD]XO
Web-XOXL GDWHOH VXQW HWHURJHQH üL SRt proveni din diverse surse. Utili-
]DWRULL SRW V QX DLE LQVWUXLUHD QHFHVDU SUoLHFWULL MXGLFLRDVH D XQHL
VFKHPH GH ED]H GH GDWH LDU PXOWH DSOLFDLL PDQLSXOHD] LQIRUPDLL FDUH
evoOXHD] vQ WLPS 5H]XPkQG GDWHOH GRULWH D IL PRGHODWH VXQW SUDFWLF QHOL-
mitate (unbound
üL QHFXQRVFXWH QHH[LVWkQG apriori un vocabular comun.
8Q H[HPSOX HGLILFDWRU GDW GH )ORUHVFX
HVWH FHO DO FUHULL XQXL
GHSR]LW GH UHHWH JDVWURQRPLFH SURYHQLQG GLQ vQWUHDJD OXPH üL LQFOX]kQG üL
GHWDOLL GH RUGLQ LVWRULF üL FXOWXUDO UHIHULWRDUH OD SUHJWLUHD GLYHUVHORU IHOXUL GH
PkQFDUH 2 DOW H[HPSOLILFDUH DU IL DFHHD D VWRFULL XQHL DQWRORJLL GH SRH]LL
8Q DOW GH]DYDQWDM DO WUDGLLRQDOHORU PRGHOH GH GDWH HVWH F GHVHRUL GDWHOH
QX SUH]LQW WUVWXUL DXWRH[SOLFDWLYH self-explanatory
üL QX SHUPLW OD SULPD
YHGHUH SUHFL]DUHD D FH DQXPH UHSUH]LQW 'H H[HPSOX XQ WXSOX GH IRUPD
(„Sabin”, „Buraga”, 33), preluat dintr-R WDEHO D XQHL ED]H GH GDWH UHODLR-
QDOH QX RIHU SUHD PXOWH LQIRUPDLL SULYLWRDUH OD VHPDQWLFD GDWHORU 3XWHP
presuSXQH F SULPHOH GRX HOHPHQWH GHVHPQHD] SUHQXPHOH üL QXPHOH
XQHL SHUVRDQH vQV HVWH GLILFLO GH ÅJKLFLWµ FH UHSUH]LQW XOWLPXO QXPU IU
D DYHD OD GLVSR]LLH R VFKHP DVRFLDW $U SXWHD IL YRUED GH YkUVW GDU OD IHO
GH ELQH GH QXPUXO GH DUWLFROH SXEOLFDWH GH FHD SHUVRDQ OD FRQIHULQH
LQWHUQDLRQDOH VDX GH SXQFWDMXO RELQXW OD XQ MRF ÍQ FRQWH[WXO :HE-ului,
dateOH DU WUHEXL V ILH DXWRH[SOLFDWLYH PDL DOHV FkQG VXQW LQWHUVFKLPEDWH
vQWUH WHUH HQWLWL SHUVRDQH VHUYLFLL VLsWHPH HWF
FDUH QX QHDSUDW
SDUWDMHD] R VFKHP GH GDWH FoPXQ RUL DFHODüL IRUPDW GH UHSUH]HQWDUH
ÍQ FRQWUDVW FX WUDGLLRQDOHOH VLVWHPH GH PDQDJHPHQW DO GDWHORU GDWHOH
VHPLVWUXFWXUDWH QX QHFHVLW SUH]HQD XQHL GHIiQLLL D XQHL VFKHPH GH GDWH
RQIRUP $ELWHERXO %XQHPDQ üL 6XFLX
DFHVWH GDWH DX R VWUXFWXU
LQWULQVHF IU D IL VSHFLILFDW VHSDUDW üL vQ DYDQV
vQV QX XQD ULJLG üL QLFL
XQD FRPSOHW QHVWUXFWXUDW ÍQ IDSW QX H[LVW R GHILQLLH H[DFW D FHHD FH vQ-
VHDPQ GDWH VHPLVWUXFWXUDWH )ORUHVFX
GHVHPQHD] SULQ date
VHPLVWUXFWXUDWH DFHOH LQIRUPDLL GLJLWDOH FDUH QX SRW IL PRGHODWH IDFLO üL
HILFLHQW FRQIRUP PHWRGRORJLLORU VFKHPHORU üL LQVWUumentelor software
WUDGLLRQDOH 0XOWH GLQWUH SUREOHPHOH VXUYHQLWH vQ DFHVW FRQWH[W VXQW FHOH
privind nepotrivirile dintre inIRUPDLLOH SH FDUH GRULP V OH PRGHOP üL
IDFLOLWLOH RIHULWH GH LQVWUXPHQWHOH DFWXDOH
Modele de date semistructurate. Familia XML 33
HO PDL IUHFYHQW FD] GH H[LVWHQ D GDWHORU VHPLVWUXFWXUDWH HVWH FHO vQ
cadrul paginilor Web formate din text scris în limbaj natural. Un mare
SURFHQWDM GLQ LQIRUPDLLOH SUH]HQWH SH :HE HVWH FRQLQXW GH GRFXPHQWH vQ
formate precum HTML, PDF, JPEG sau Word. Modelul entitate-UHODLH QX
HVWH DGHFYDW SHQWUX D PRGHOD OLPEDMXO QDWXUDO RDPHQLL FRPXQLF SULQ
intermeGLXO IUD]HORU üL QX D HQWLWLORU üL UHODLLORU GLQWUH HOH Fare, din punct
de vedere teoretic, trebuie a priori stabilite). Mai mult, popularele limbaje de
specificare a schemelor sunt în general prea simpliste pentru a modela
VWUXFWXUL LQIRUPDLRQDOH GLQDPLFH üL WRW PDL FRPSOH[H SH PVXU FH HYR-
OXHD]
Desigur, OD FHOH GH SUHFL]DWH PDL VXV vQFHS V VH vQWUHYDG VROXLL 3ULPD
HVWH IRORVLUHD IDPLOLHL GH OLPEDMH ;0/ 3ULQ PRGDOLWLOH VDOH VLQWDFWLFH
OLPEDMXO ;0/ SHUPLWH PRGHODUHD XQXL VSHFWUX ODUJ GH LQIRUPDLL GH OD GDWH
complet structurate (e.g. LQIRUPDLL SULYLWRDUH OD FRQWXUL EDQFDUH
SkQ OD
WH[W vQ OLPEDM QDWXUDO 'XS FXP YRP YHGHD vQ FDGUXO DFHVWXL FDSLWRO
GRFXPHQWHOH ;0/ SRW LQFOXGH FRQLQXWXUL PL[WH SRW IL WUDQVIRUPDWH vQ DOWH
IRUPDWH üL GH DVHPHQHD SRW IL LQWHUogate.
2. XML pentru reprezentarea datelor semistructurate
2.1. Precursori
3HQWUX vQFHSXW QH YRP SODVD vQ GRPHQLXO UHSUH]HQWULL GRFXPHQWHORU
HOHFWURQLFH /D vQFHSXWXUL DFHVWH WLSXUL GH UHVXUVH FRQLQHDX FRGXUL VDX
macro-uri care indicau un anumit mod de formatare a documentelor, într-o
mDQLHU SDUWLFXODU FRGLILFaUHD VSHFLILF GHSLQ]kQG GH FDUDFWHULVWLFLOH
hardware sau ale sistemului de operare). Prin contrast, modul de codificare
JHQHULF DSUXW OD VIkUüLWXO DQLORU ·
XWLOL]HD] marcatori (tag-uri) des-
criptivi pentru specificarea modului de aranjare (structurare) a unui anumit
document. Printre susLQWRULL DFHVWHL GLQ XUP PHWRGH V-D QXPUDW üL
William Tunnicliffe SUHüHGLQWH DO *$ Graphic Communications Association),
FDUH D GRULW V LPSXQ VHSDUDUHD FRQLQXWXOXL Gocumentelor de formatul lor.
Tot la finalul anilor 1960, Stanley Rice propune ideea unui catalog
XQLYHUVDO GH PDUFDWRUL SDUDPHWUL]DL SHQWUX VWUXFWuUDUHD HGLWULL GH FDUWH
Norman Scharpf GH]YROW DFHDVW LGHH üL DVWIHO HVWH FUHDW GenCode, capabil a
recunoaüte ce tipuri GH FRGXUL VXQW QHFHVDUH HGLWULL ILHFUHL FODVH GH
GRFXPHQW vQ SDUWH üL Podul de includere a documentelor de dimensiuni
reduse în unele mai largi. Acest proiect a jucat ulterior un rol important în
dezvoltarea standardului SGML, precursor al limbajului XML.
Tehnologii XML34
În 1969, Charles Goldfarb FRQGXFWRU DO SURLHFWXOXL ,%0 GH FHUFHWDUH D
VLVWHPHORU LQIRUPDLRQDOH LQWHJUDWH vQ GRPHQLXO OeJLVODWLY vPSUHXQ FX
Edward Mosher üL Raymond Lake, invenWHD] GML (Generalized Markup
Language) pentru a permite editarea, formataUHD GH WH[WH üL SDUWDMDUHD
documentelor în contextul sistemelor distribuite. GML se baza pe ideile de
codiILFDUH JHQHULF DOH OXL 5LFH üL 7XQQLFOLIIH üL LQWURGXFHD FRQFHSWXO GH
GHILQLUH IRUPDO D WLSXULORU GH GRFXPHQWH prin intermediul unor structuri de
elemente recursive.
3UL PDMRUH DOH *0/ DX IRVW LPSOHPHQWDWH vQ VLVWHPHOH GH HGLWDUH
FRPSXWHUL]DW SH mainframe-XUL GH FWUH ,%0 üL DOWH FRUSRUDLL *ROGIDUE vüL
conWLQX FHUFHWULOH UHIHULQH vQFUXFLüDWH SURFHVDUH vQOQXLW WLSXUL GH
documente concureQWH FDUH QX YRU DSUHD vQ *0/ GDU YRU IL GH]YROWDWH FD
SUL DOH 6*0/
În 1978, ANSI (American National Standards Institute
SULQ FRPLWHWXO VX GH
SURFHVDUH D LQIRUPDLLORU GHVHPQHD] XQ JUXS FDUH V VH RFXSH GH FUHDUHD
de limbaje de programare pentru SUHOXFUDUHD HOHFWURQLF D WH[WHORU JUXS
condus de Charles Card, avându-O FD PHPEUX SH 1RUPDQ 6FKDUSI üL DSRL
cooptându-O üL SH *ROGIDUE 5H]XOWDWXO D IRVW OLPEDMXO 6*0/ D FUXL SUiP
SUH]HQWDUH D IRVW H[SXV vQ  'LQ DQXO  *$ O-a putut recomanda
FD VWDQGDUG LQGXVWULDO VXVLQXW GH 0LQLVWHUXO $SUULL DO 6WDWHORU 8QLWH
În anul 1984, proiectul a fost autorizat de ISO (International Organization
for Standardization
HUFHWULOH DX FRQWLQXDW vQ FDGUXO FRPLWHWXOXL $16,
condus de William Davis, cu VXVLQerea comitetului GenCode al GCA,
avându-l la conducere pe Sharon Adler de la IBM.
ÍQ DQXO  D IRVW SXEOLFDW SURSXQHUHD FD 6*0/ V GHYLQ VWDQGDUG
LQWHUQDLRQDO 7H[WXO ILQDO DO VSHFLILFDLLORU 6*0/ D IRVW DSUREDW üL SXEOLFDW
în anul 1986, utilizându-se un sistem SGML dezvoltat la CERN de Anders
Berglund – ISO 8879: Information Processing – Text and Office Systems –
Standard Generalized Markup Language (Goldfarb, 1990).
$SURDSH GH ILQDOXO VHFROXOXL ;; RQVRULXO :HE D GRULW FUHDUHD XQXL
limbaj coPSDWLELO FX 6*0/ GDU FDUH V VH SUHWH]H OD XWLOL]DUHD vQ FDGUXO
Web-ului, operându-VH R VHULH GH VLPSOLILFUL üL UH]HFLL DOH VSHFLILFDLHL
SGML. În 1998, apare prima recomandare a XML (Extensible Markup
Language), actualmente fiind în vigoare XML 1.0 – eGLLD D WUHLD %UD et al.,
D
üL ;0/  %UD et al., 2004b).
RQFHSWHGHED]DUDFWHUL]DUHüLWUVWXUL
3XWHP FRQVLGHUD ;0/ FD ILLQG XQ VWDQGDUG LQWHUQDLRQDO SHntru descrierea
de marcaje (markups) privitoare la resursele electronice. În fapt, XML reprezinW
Modele de date semistructurate. Familia XML 35
un meta-OLPEDM GHVFULHUH IRUPDO D XQXL OLPEDM FRQIRUP XQHL JUDPDtici
DVRFLDWH
/D vQFHSXW D IRVW Y]XW FD XQ OLPEDM GH DGQRWDUH GH IRUPDtare)
GH WH[WH GDU VFRSXULOH DFWXDOH GHSüHVF DFHDVW LQWHUSUHWDUH vQJXsW
Termenul marcaj (markup
D IRVW XWLOL]DW LQLLDO SHQWUX D GHVFULH DQXPLWH
DGQRWUL QRWH PDUJLQDOH vQ FDGUXO XQXL WH[W FX LQWHQLD GH D LQGLFD WHKQR-
redactorului cum trebuie listat un anumit pasaj ori chiar omis. Exemple de
acest gen ar fi sublinierea unor anumite cuvinte, folosirea anumitor simbo-
luri speciaOH OLVWDUHD XQRU SUL GH GRFXPHQW FX XQ FRUS GH OLWHU IRQW
VSHFLILFDW HWF XP IRUPDWDUHD üL LPSULPDUHD WH[WHORU DX IRVW DXWRPDWL]DWH
termenul s-a extins pentru a acoperi toate tipurile de coduri de marcare
inserate în textele electronice cu scopul de a indica modul de formatare,
OLVWDUH RUL DOWH DFiuni.
Generalizând, putem defini marcajul sau codarea GUHSW RULFH DFLXQH GH D
LQWHUSUHWD H[SOLFLW XQ IUDJPHQW GH GDW /D XQ Qivel superficial, toate textele
sunt codDWH HOHPHQWHOH GH SXQFWXDLH IRORVLUHD GH PDMXVFXOH GLVSXQHUHD
HQXQXULORU vQ SDJLQ FKLDU üL VSDLLOH GLQWUH FXYLQWH SXWkQG IL SULYLWH GUHSW
PDUFDMH RGLILFDUHD XQXL WH[W SHQWUX SURFHVDUHD FRPSXWHUL]DW SRDWH IL
FRQVLGHUDW vQ SULQFLSLX FD R WUDQVFriere a unui manuscris din scriptio
continua într-un format special, intern, dictat de utilizator prin folosirea,
expliFLW VDX QX D XQRU GLUHFWLYHPDUFDMH FDUH GHILQHVF PRGXO GH LQWHU-
SUHWDUH D FRQLQXWXOXL WH[WXOXL 'eVLJXU SXWHP JHQHUDOL]D DFHDVW DFiune
OD RULFH WLS GH UHVXUV :HE
Printr-un limbaj de specificare vQHOHJHP DVWIHO XQ VHW GH FRQYHQLL GH
marcare utilizate pentru codificarea textelor 8Q OLPEDM GH PDUFDUH WUHEXLH V
specifiFH PXOLPHD GH PDUFDMH REOLJDWRULL SHUPLVH PDQLHUD GH LGHQWLficare
D PDUFDMHORU üL FDUH HVWH VHPDQWLFD ILHFUXL PDUFDM GLVSRQLELO VLPLODU SUR-
cesului de speciILFDUH D VLQWD[HL üL VHPDQWLFLL XQXL OLPEDM GH SURJUDPDUH
([LVW XUPWRDUHOH FDUDFWHULVWLFL GHILQLWRULL DOH ;0/ SULPHOH WUHL PRüWH-
nite de la SGML:
• utilizarea marcajelor descriptive (descriptive markups) – se folosesc
PDUFDMH FDUH RIHU QXPH VSeFLDOH SHQWUX D FODVLILFD SUL GH
document (de exemplu, para SRDWH LGHQWLILFD R SRULXQH GLQWU-un
anumit document, în cazul nostru început de paragraf). Prin
contrDVW XQ OLPEDM GH PDUFDUH SURFHGXUDO GHILQHüWH R DFLXQH GH
îndeplinit la un moment dat – e.g., move(left_margin, 2cm) ori
skip(this.line);
• adoptarea tipurilor de documente – 6*0/ LQWURGXFH QRLXQHD GH
WLS GH GRFXPHQW üL GH GHILQLLH D WLSXULORU GH GRFXPHnte: DTD –
Document Type Definition. Documentele sunt privite ca având tipuri,
DüD FXP DX RELHFWHOH SURFHVDWH GH FDOFXODWRDUH 8Q WLS GH GRFXPHQW
Tehnologii XML36
HVWH GHILQLW IRUPDO GH SULOH VDOH FRQVWLWXHQWH üL GH VWUXFWXUD ORU 'H
H[HPSOX GHILQLLD XQXL UDSRUW SRDWH FRQVWD GLQ WLWOX üL QXPHOH
DXWRUXOXL XUPDWH GH XQ UH]XPDW üL GH R VHFYHQ GH PDL PXOWH
paragrafe. Documentele având asociat un tip, se poate utiliza un
analizor (parser) pentru a le verifica valiGLWDWHD DGLF DSDUWHQHQD OD
XQ WLS GH GRFXPHQW üL UHVSHFWDrea elementelor specificate în DTD.
$VWIHO GRFXPHQWH GH DFHODüL WLS SRW IL SURFHVDWH vQWU-un mod
XQLIRUP 3URJUDPHOH SRW H[SORDWD LQIRUPDLLOH vQFDSVXODWH vQ
GHILQLLLOH GH VWUXFWXU DOH GRFXPHnWHORU üL VH SRW FRPSRUWD GHFL
într-R PDQLHU ÅLQWHOLJHQWµ 5ecomandarea XML nu impune în mod
obligatoriu FD R LQVWDQ GH GRFXPHQW V VH FRQIRrmeze unui tip de
document (vezi mai jos);
• LQGHSHQGHQD GDWHORU – ;0/ DVLJXU WUDQVODWDUHD GRFXPHQWHORU vQ
GLYHUVH IRUPDWH VDX FRGLILFUL GH FDUDFWHUH VH DGRSW VWDQGDUGXO
UQLFRGH
ILLQG LQGHSHQGHQW GH SODWIRUPD KDUGZDUHVRIWZDUH üL
RIHULQG IDFLOLWL GH H[WLQGHUH D PDUFDMHORU GXS FXP YRP YHGHD
un document XML poate include elemente provenite din alt
document XML);
• case-sensitivity – FRQVWUXFLLOH ;0/ VXQW GHSHQGHQWH GH Faz, literele
mici diferind astfel de majuscule.
$VWIHO SULQWUH WUVWXULOH FDUH DX IFXW PHWD-OLPEDMXOXL ;0/ V DLE XQ
ecou însemnat în industria software, reprezentând o tehnologie sine qua non
a prezentului, se pot enumera:
• suport acordat Web-ului, priQ IDFLOLWDUHD LPSOHPHQWULORU vQ RULFH
limbaje de programare actuale;
• IDFLOLWL SHQWUX XWLOL]DUHD LQWHUQDLRQDO VXSRUW SHQWUX 8QLFRGH üL
LQGHSHQGHQD GH FRGLILFDUH üL OLmE
• meta-limbaj (se permite definirea de noi limbaje, într-R PDQLHU
SRUWDELO
• sROXLH SHQWUX UHSUH]HQWDUHD FRQLQXWXOXL UHVXUVHORU :HE LGHQWL-
ficate via URI.
RQFKL]kQG ;0/ UHSUH]LQW R PHWRG GH GHVFULHUH XQLYHUVDO D
LQIRUPDLHL DVWIHO vQFkW DWkW FRPSXWHUHOH FkW PDL DOHV RDPHQLL V R SRDW
vQelege. Scopurile limbajului sunt cele legate de utilizarea lui în Internet,
VXSRUWkQG R YDULHWDWH GH DSOLFDLL SVWUkQG FRPSDWLELOLWDWHD FX YHFKLXO
SGML, dar fiind mult mai flexibil decât HTML. Fiind R PHWRG XQLYHUVDO
SHQWUX UHSUH]HQWDUHD GHVFULHUHD
LQIRUPDLLORU KLSHUWH[W ;0/ SRDWH IL
Y]XW FD R WHKQRORJLH FRPSOHPHQWDU OLPEDMului HTML, nu drept o
înlocuire a sa.
Modele de date semistructurate. Familia XML 37
RQVWLWXHQL
8Q GRFXPHQW ;0/ SRDWH FXSULQGH XUPWRDUHOH FDWHJRULL GH FRQVWLWXHQL
(Bray et al., 2004a):
• GHFODUDLD SURORJXO VDX SUHDPEXOXO
• elementele;
• atributele;
• entitLOH
• VHFLXQLOH GH PDUFDUH
• LQVWUXFLXQLOH GH SURFHVDUH
'HFODUDLD;0/
'RFXPHQWHOH ;0/ SRW üL DU WUHEXL V vQFHDS FX R GHFODUDLH SURORJ
;0/
FDUH VSHFLILF YHUVLXQHD OLPEDMXOXL ;0/ XWLOi]DW 'HFODUDLD ;0/ vQFHSH FX
?xml üL VH WHUPLQ FX FDUDFWHUHOH ? ÍQ FD]XO vQ FDUH H[LVW vQ GRFXPHQW
GHFODUDLD ;0/ DFHDVWD WUHEXLH V ILH SULPXO HOHPHQW DO GRFXPHQWXOXL
'HFODUDLD QX SRDWH IL SUHFHGDW GH QLFL XQ DOW HOHPHQW üL WUHEXLH V ILH
XQLF ([LVW WUHL DWULEXWH FDUH SRW V DSDU vQ GeFODUDLD ;0/
• version – UHSUH]LQW XQD GLQWUH YHUVLXQLOH FXUHQWH DOH ;0/  VDX
ÍQ PRG X]XDO GHFODUDLD DUH IRUPD ?xml version=1.0 ?.
'RFXPHQWHOH vQ D FURU GHFODUDLH H[LVW VSHFLILFDW YHUVLXQHD
WUHEXLH V VH FRQIRUPH]H DFHVWHL YHUVLXQL DOWIHO SURFHVRDUHOH ;0L
care vor prelucra acele documente vor genera eroare. Conformarea
FX YHUVLXQHD VSHFLILFDW vQVHDPQ XWLOL]DUHD FRQVWUXFLLORU GHILQLWH
în acea versiune sau în versiunile precedente, dar numai în cazul
când este specificat acest aspect.
• encoding – atributul poate lua valorile UTF-8, UTF-16, ISO-10646-
UCS- VDX RULFH DOWH YDORUL FDUH UHSUH]LQW VXEPXOLPL DOH VHWXOXL
8QLFRGH 'DF VH IRORVHüWH GHQXPLUHD XQHL PXOLPL FDUH QX HVWH
GHILQLW GH ,62 DWXQFL WUHEXLH IFXW H[SOLFLW UHIHULUH OD DGUHVD OD
care se DIO VSHFLILFDW DFHO VHW GH FDUDFWHUH 'DF VH vQWkOQHüWH vQ WH[W
o enWLWDWH FDUH QX SRDWH IL SURFHVDW GLQ FDX]D GHILQLULL JUHüLWH D
PXOLPLL GH FDUDFWHUH DWXQFL VH JHQeUHD] R HURDUH IDWDO 6HWXO GH
FDUDFWHUH $6,, HVWH R VXEPXOLPH D VHWXOXL 87)-8. Un exemplu
WLSLF GH GHFODUDUH D FRGLILFULL HVWH ?xml version=1.0
encoding=UTF-8 ?.
• standalone – atributul poate lua valorile yes sau no. În
GRFXPHQWHOH ;0/ SRW H[LVWD DQXPLWH UHIHULQH VSUH DOWH GRFXPHQWH
FDUH V FRQLQ GHILQLLL DOH XQRU PDUFDMH DWULEXWH VDX HQWLWL GLQ
Tehnologii XML38
document. Când valoarea este yes DWXQFL UHIHULQHOH VSUH DOWH
GRFXPHQWH VXQW SURKLELWH 'DF YDORDUHD HVWH no, atunci este posibil
V H[LVWH UeIHULQH VSUH DOWH GRFXPHQWH GDU GDF QX H[LVW DWXQFL
folosirea atributului nu are seQV ,PSOLFLW VH FRQVLGHU F XQ
GRFXPHQW vQ D FUXL GHFODUDLH QX HVWH VSHFLILFDW DWULEXWXO
standalone QX FRQLQH UHIHULQH H[WHrne.
Elementele
Caracterizare
RPSRQHQWD VWUXFWXUDO XQLWDWHD-text) a unui document XML este elemen-
tul. Diferite tipuri de elemente au asociate nume diferite. Fiecare element
trebuie specificat explicit prin intermediul marcajelor (tag-urilor). Perechea
marcaj de început (start tag) – PDUFDM GH VIkUüLW end tag
HVWH IRORVLW OD
vQFDGUDUHD ILHFUHL LQVWDQH D HOHPHQWXOXL UHVSHFWiv în cadrul unui text
VLPLODU XWLOL]ULL GLIHULWHORU WLSXUL GH SDUDQWH]H RUL VHPQH GH SXQFWXDLH GH
H[HPSOX vQ  VHFLXQLOH GH vQFHSXW üL GH VIkUüLW GH EORF GH LQVWUXFLXQL VH
scriu între {}, iar în limbajul natural folosim ghilimelele pentru a delimita
XQ FLWDW
ÍQ ;0/ VH XWLOL]HD] element pentru a specifica un tag de
vQFHSXW üL /element SHQWUX FHO GH VIkUüLW XQGH element este numele
unui element oarecare (specificat de utilizator ori de autoritatea care a
UHGDFWDW VSHFLILFDLLOH OLPEDMXOXL EDzat pe XML folosit). Între caracterul „”
üL QXPHOH SURSULX-zis al elementuOXL QX VXQW SHUPLVH VSDLLOH DOEH
1XPHOH XQXL HOHPHQW SRDWH IL FRQVWLWXLW GLQ OLWHUH FLIUH üL VHPQHOH X]XDOH
(e.g., „_”, „-µ ŵ
WUHEXLQG V vQFHDS FX R OLWHU VDX FX FDUDFWHUul „_”),
regulile sintactice fiind similare celor privitoare la identificatorii de
variabile. Numele începând cu caracterele „xml” (în orice modalitate de
scriere, cu majuscule sau minuscule) sunt rezervate. Numele unui element
nu poate conLQH VSDLL DOEH.
Modele structurale
8Q HOHPHQW SRDWH IL YLG QX FRQLQH QLPLF vQWUH tag-XULOH GH vQFHSXW üL
VIkUüLW
VDX SRDWH LQFOXGH XQ WH[W üLU GH FDUDFWHUH
RUL DOWH HOHPHQWH 0DL
PXOWH HOHPHQWH GH DFHODüL WLS SRW IL DüDGDU LPEULFDWH 8Q DVSHFW GHRVHELW GH
important HVWH FHO SULYLWRU OD IDSWXO F HOHPHQWHOH WUHEXLH V ILH vQFKLVH üL
imbricate corect.
RQLQXWXO WH[WXDO DO XQXL HOHPHQW SRDWH IL FRPSXV GLQ FDUDFWHUHOH
SHUPLVH GH FRGLILFDUHD SUHFL]DW GH DWULEXWXO encoding GLQ GHFODUDLD ;0/
RULFH DSDULLH GH VSDLL DOEH PXOWLSOH ILLQG LPSOLFLW UHGXV OD XQ VLQJXU
caracter spaLX
Modele de date semistructurate. Familia XML 39
5HODLLOH GLQWUH HOHPHQWHOH ;0/ SRW IL Y]XWH vQ WHUPHQL GH
• VHFYHQ – HOHPHQWHOH SRW JHQHUD R VHFYHQ ILHFDUH Sutând avea un
„frate” (sibling
GHVHPQDW GH XUPWRUXO HOHPHQW VLWXDW OD DFHODüL
nivel, neimbricat);
• DSDULLH – unele elemente pot fi obligatorii, pe când altele pot avea
XQ FDUDFWHU RSLRQDO YH]L infra);
• ierarhie – un element inclus în altul se va numi copil, iar elementul
plasat la nivelul imediat superior este denumit SULQWH (root); ele-
PHQWXO FDUH QX DUH SULQWH HVWH QDWXUDO HOHPHQWXO-UGFLQ ILLQG
FHO FDUH JHQHUHD] VWUXFWXUD DUERUHVFHQW DO GRFXPHQWXOXL ;0/
• grupare – mai multe elemente pot fi grupate de un element-SULQWH
IXQFLRQkQG FD XQ FRQWDLQHU
• incluziune – un element poate include alte elemente; elementele
YLGH VXQW GHQXPLWH üL elemente-IUXQ].
3HQWUX D LOXVWUD PDL GHWDOLDW DFHVW DVSHFW FRQVLGHUP XQ model structural
IRDUWH VLPSOX 3UHVXSXQHP F GRULP V LGHQWLIiFP R DQWRORJLH SULQWU-o
succesiune de poeme, titlurile lor, versurile din care sunt compuse. În
termenii XML, antologie UHSUH]LQW XQ WLS GH GRFXPHQW üL HVWH FRPSXV
dintr-o serie de poeme. Fiecare poem vQFDSVXOHD] XQ HOHPHQW titlu (unic)
üL FkWHYD DSDULLL GH HOHPHQWH VWURI ILHFDUH VWURI FRQLQkQG XQ QXPU GH
elemente vers. Astfel, avem:
antologie
poem
titlu.../titlu
VWURI!
vers.../vers
vers.../vers
...
VWURI!
/poem
poem
...
!-- mai multe poeme... (acesta e un comentariu) --
/poem
/antologie
(YLGHQW H[HPSOXO GH PDL VXV QX QH SUHFL]HD] DQXPLWH UHJXOL GH
FRPSXQHUH D XQHL DQWRORJLL GH H[HPSOX QX SXWHP LPSXQH FD XQ WLWOX V
QX DSDU GH PDL PXOWH RUL VDX V ILH SODVDW OD ILQDOXO XQXL SRHP
$üDGDU
vom avem nevoie de un mecanism de precizare a structurii.
Tehnologii XML40
7RWXüL FKLDU üL OD DFHVW QLYHO GRFXPHQWXO GH WLS DQWRORJLH SRDWH IL
procesat în anumite moduri, pentru diverse scopuri. Un program de
indexare ar putea extrage doar elemente relevante criteriului ales pentru
realizarea inGH[XOXL R OLVW GH WLWOXUL R OLVW D FHORU PDL GHV IRORVLWH FXYLQWH
dintr-o poezie. Un program de formatare a textului ar putea insera linii
vQWUH ILHFDUH VWURI LDU WLWOXO ILHFUXL SRHP DU SXWHD IL WLSULW vQJURüDW Iolosit
XQ FRUS GH OLWHU VSHFLILFDW 8Q SURJUDP PDL DPELLRV SHQWUX DQDOL]D
OLQJYLVWLF DVLVWaW GH FDOFXODWRU DU SXWHD GHWHUPLQD PHWULFD üL WLSXO GH ULP
DOH ILHFUXL Soem.
0RGHOXO HVWH XQXO VHPLVWUXFWXUDW GHRDUHFH QXPUXO GH VWURIHYHUVXUL
nu este a priori cunoscut, în cadrul documentulXL SXWkQG DSUHD üL DOWH
FRQVWUXFLL ;0/ FDUH LQLLDO QX HUDX Funoscute.
8Q DOW H[HPSOX VH UHIHU OD PDQLHUD GH VWRFDUH D LQIRUPDLLORU SULYLWRDUH
OD DXWRULL OXFUULORU SXEOLFDWH GH R HGLWXU
autori
autor
numeSabin Buraga/nume
adresahttp://www.infoiasi.ro/~busaco//adresa
varsta /
DILOLHUH!)DFXOWDWHD GH ,QIRUPDWLF GLQ ,DúLDILOLHUH!
/autor
autor
...
/autor
autor
...
/autor
/autori
'LQ FHOH GHVFULVH GH H[HPSOXO DQWHULRU REVHUYP IRORVLUHD XQXL HOHPent
FX FRQLQXW YLG VFULV varsta / sau varsta/varsta, ambele
variante fiind corecte.
Atributele
Un atribut HVWH XWLOL]DW FX VFRSXO GH D GHVFULH R DQXPLW SURSULHWDWH D XQHL
DSDULLL VSHFLILFH SDUWLFXODUH
D XQXL HOHPHQW 3XWHP IDFH R DQDORJLH vQWUH
DWULEXWH GHVFULLQG HOHPHQWH
üL DGMHFWLYH FDUH GHVFULX VXEVWDQWLYH
Atributele sunt localizate în tag-XO GH VWDUW DO XQXL HOHPHQW LPHGLDW GXS
QXPHOH HOHPHQWXOXL DFXP HVWH HYLGHQW GH FH QX SRW H[LVWD VSDLL DOEH vQ
numele unui element), sunt urmate de „=”, apoi de valoarea atributului,
Modele de date semistructurate. Familia XML 41
VFULV vQWUH JKLOLPHOH VDX DSRVWURIXUL 'DF YDORDUHD XQXL DWULEXW QX HVWH
VSHFLILFDW vQWUH JKLOLPHOH YD IL VHPQDODW R HURDUH OD IHO FD üL vQ FD]XO vQ
FDUH SHQWUX XQ DWULEXW QX DU IL DWDüDW üL YDORDUHD DFHVWXLD 3Hntru un
element pot exista oricâte atribute, specificate în orice ordine, atât timp cât
sunt declarate corect.
'H H[HPSOX XQ SDUDJUDI SRDWH DFFHSWD FD DWULEXW RSLRQDO PRGXO GH
aliniere (la stânga, la dreapta sau centrat), iar alinieUHD QX VH UHDOL]HD]
dHFkW SHQWUX SDUDJUDIXO vQ FDX] üL QX DUH HIHFW DVXSUD FHORUODOWH SDUDJUDIH
(context loFDO
1XPHOH DWULEXWHORU VH FRQIRUPHD] DFHORUDüL UHJXOL DSOLFDWH
vQ FD]XO HOHPHQWHORU $WULEXWHOH YRU DSUHD GRDU vQ FDGUXO tag-ului de start.
Pentru exemplele de mai sus, în cazul antologiei se poate specifica data
XOWLPHL DFWXDOL]UL üL FRRUGRQDWRUXO LDU SHQWUX OLVWD DXWRULORU Sutem asocia
R DEUHYLHUH RSLRQDO DILOLHULL
antologie coordonator=Sabin Buraga data=Oct 2006
...
/antologie
afiliere abreviere=FII!)DFXOWDWHD GH ,QIRUPDWLF GLQ
,DúLDILOLHUH!
Atribute XML predefinite
6SHFLILFDLD ;0/ SXQH OD GLVSR]LLH GRX DWULEXWH SUHGHILQLWH
3ULPXO VH UHIHU OD VSHFLILFDUHD UHJXOLORU SULYLWRDUH OD VSDLLOH DOEH ÍQ
PRGHODUHD XQRU GDWH HVWH XQHRUL QHFHVDU DSDULLD VSaLLORU DOEH FRQVWLWXLWH
GLQ VSDLL tab-XUL OLQLL YLGH HWF
ÍQ XQHOH FRQWH[WH SURFHVDUHD WUHEXLH V VH
UHDOL]H]H FX SVWUDUHD DFHsWRU VSDLL DOEH GH H[HPSOX vQ FD]XO H[SULPULL
codului-VXUV VDX vQ FHHD FH SULYHüWH SURGXFLLOH OLULFH
8Q Dtribut special,
numit xml:space, poate fi inserat în documente pentru a specifica faptul
F vQ FDGUXO HOHPHQWXOXL vQ FDUH DSDUH DFHVW DWULEXW VSDLLOH DOEH V ILH
tratate în mod semnificativ. Valorile acestuia pot fi default sau preserve.
De exemplu, pentru a specifica un text preformatat am putea scrie: pre
xml:space=preserve.../pre.
$O GRLOHD DWULEXW VHUYHüWH SHQWUX LGHQWLILFDUHD OLPELL vQ FDUH HVWH SUHFL]DW
XQ FRQLQXW WH[WXDO 8Q H[HPSOX HVWH XUPWorul:
p xml:lang=en-GBAny colour you like/p
p xml:lang=en-USAny color you like/p
quote author=Sainte-Beuve xml:lang=frIl n'y a que de
vivre; on voit tout et le contraire de tout./quote
Suplimentar, prin intermediul atributului xml:id, SUHFL]DW GH VSHFLILFDLD
GHVFULV GH 0DUVK 9HLOODUG üL :DOVK
ILHFUXL HOHPHQW ;0/ L VH SRDWH
asociat un identificator unic, servind în principal pentru realizarea de
Tehnologii XML42
UHIHULQH ORFDOH VDX H[WHUQH
vQWUH IUDJPHQWH GH FRQLQXW 'H H[HPSOX vQ
contexWXO ;+70/ SUHFL]P – prin name (din HTML), id (dLQ ;+70/
üL
xml:id – XQ LGHQWLILFDWRU SHQWUX R OHJWXU LnWHUQ
a xml:id=examen id=examen name=examen/a
...
a href=#examenDespre examen/a
5HIHULQHOHODHQWLWL
5HIHULQHOH OD HQWLWL FRQVWLWXLH GH IDSW SRLQWHUL FWUH HQWLWL ÍQ ;0/ enti-
WLOH UHSUH]LQW XQLWL GH WH[W XQGH R XQLWDWH SRDWH GHVHPQD RULFH GH OD
XQ VLQJXU FDUDFWHU OD XQ vQWUHJ GRFXPHQW VDX FKLDU R UHIHULQ OD XQ DOW
document.
2 UHIHULQ OD R HQWLWDWH SUH]LQW FRQVWUXFLD VLQWDFWLF nume_entitate;
(caracterul „µ XUPDW GH QXPHOH HQWLWLL DSRL GH FDUDFWHUXO ŵ
8QD
GLQWUH FHOH PDL IUHFYHQWH XWLOL]UL DOH UHIHULQHORU OD HQWLWL HVWH DWXQFL FkQG
VH GRUHüWH IRORVLUHD XQRU FDUDFWHUH FDUH DU FRQGXFH OD HURUL GH SURFHVDUH üL
GHFL FDUH QX DU WUHEXL V DSDU vQ IRUPD ORU QRUPDO vQ WH[W ÍQ PRPHQWXO vQ
FDUH VH vQWkOQHüWH UHIHULQD OD R HQWLWDWH vQ GRFXPHQW DFHDVWD VH YD VXEVWLWXL
FX GDWHOH SH FDUH OH UHIHU üL VH YD UHWXUQD GRFXPHQWXO FX vQORFXLULOH Icute.
7DEHOXO GH PDL MRV LOXVWUHD] HQWLWLOH SUHGHILQLWH GH VSecifiFDLD ;0/
7DEHOXO  (QWLWLOH SUHGHILQLWH GH ;0/ %UD et al., 2004a)
Entitate 5HIHULQD OD HQWLWDWH
 lt;
 gt;
 amp;
' apos;
 quot;
6HFLXQLOHGHPDUFDUH
2FD]LRQDO DQXPLWH SUL DOH GRFXPHQWXOXL QHFHVLW XQ WUDWament special în
ceea FH SULYHüWH PRGXO GH SURFHVDUH
$VWIHO H[LVW SRVLELOLWDWHD IRORVLULL VHFLXQLL '$7$ character data), cu
UROXO GH LQKLEDUH D SUHOXFUULL FRQVWUXFLLORU ;0/ 6HcLXQLOH '$7$ SRW IL
LQVHUDWH RULXQGH SRW DSUHD üL GDWHOH GH WLS FDUDFWHU (OH VXQW XWLOL]ate
Modele de date semistructurate. Familia XML 43
SHQWUX D LQFOXGH EORFXUL GH WH[W FRQLQkQG FDUDFWHUH FDUH DOWIHO DU IL
recunoscute ca marcaje. Acest aspect devine important atunci când
documentul include, de exemplu, linii de cod-VXUV VFULVH vQWU-un limbaj de
proJUDPDUH FDUH DUH SURSULLOH FRQYHQLL sintactice.
6LQWD[D JHQHUDO D VHFLXQLL '$7$ DUH IRUPD ![CDATA[ ... ]]. În
LQWHULRUXO VHFLXQLORU '$7$ QX WUHEXLH V DSDU üLUXO Å]]µ IU V ILH XUPDW
de „µ 'H DVHPHQHD VHFLXQLOH '$7$ QX SRW IL LQFOXVH XQHOH vQ DOWHOH
Un prim exemplu repreziQW XQ IUDJPHQW GLQ ILüLHUXO inetpref.xml, folosit
SHQWUX VSHFLILFDUHD LQWHUIHHL FX XWLOL]DWRUXO D DVLsWHQWXOXL GH FXWDUH Search
Companion a resurselor Internet inclus de Windows XP:
Label TopMargin=8 Group=1
Text![CDATA[Select the default search engine:]]/Text
/Label
ÍQ H[HPSOXO XUPWRU QX GRULP FD SURFHVRUXO ;0/ V LQWHrpreteze codul
-DYD6FULSW R FRPSOLFDLH H JHQHUDW GH DSDULLD RSHUDWRUXOXL UeODLRQDO Å!µ
script type=text/javascript
/*![CDATA[*/
if (vizite  10) { // vizitator fidel
document.write (pSalut iar!/p);
}
/*]]*/
/script
,QVWUXFLXQLOHGHSURFHVDUH
,QVWUXFLXQLOH GH SURFHVDUH UHSUH]LQW XQ WLS VSHFLDO GH PDrFDM FDUH FRQLQH
LQIRUPDLL SULYLWRDUH OD DQXPLWH DSOLFDLL FH XUPHD] D IL H[HFXWDWH SHQWUX
procesaUHD FRQLQXWXOXL ,QVWUXFLXQLOH GH SURFHVDUH VXQW SUHIL[DWH GH
FRQVWUXFLD Å?µ XUPDW GH QXPHOH DSOLFDLHL üL GH R VSHFLILFDUH D XQRU GDWH
VSHFLILFH DFHOHL DSOLFDLL OD ILQDO Gelimitate de „?”.
1XPHOH DSOLFDLHL GLQ LQVWUXFLXQHD GH SURFHVDUH WUHEXLH V ILH GLIHULW GH
xml, XML sau orice alt mod de a scrie cu litere mari sau mici termenul
„xmlµ 'XS FXP VH SRDWH UHPDUFD GHFODUDLD ;0/ HVWH WRW R LQVWUXFLXQH
de procesare, fiind utili]DW GH SURFHVRUXO ;0/
În exemplul de mai jos, analizorul XML ar putea invoca interpretorul
3+3 SHQWUX H[HFXLD SURJUDPXOXL VSHFLILFDW vQ FDGUXO XQXL GRFXPHQW
script
?php echo pSalut!n/p; ?
/script
Tehnologii XML44
'H DVHPHQHD YLD LQVWUXFLXQL GH SURFHVDUH VH SRW DVRFLD IRL GH VWLOXUL 66
SHQWUX UHGDUHD FRQLQXWXOXL XQXL GRFXPHQW ;0/ GHWDOLL üL vQ %XUDJD
2001):
?xml:stylesheet type=text/css href=stil.css ?
8UPWRDUHD H[HPSOLILFDUH VSHFLILF PRGXO GH FRQWURO DO JHQHUULL
codului-VXUV vQ ;63 Extensible Server Pages) via procesorul Apache
Cocoon:
?cocoon-process type=xsp ?
8Q XOWLP H[HPSOX VH UHIHU OD IRORVLUHD XQRU GLUHFWLYH GH SURFHVDUH vQ
cadrul platformei Adobe XMP (Extensible Metadata Platform):
?xpacket begin='...' id='W5M0MpCehiHzreSzNTczkc9d'?
2.4. Familia XML
/LPEDMXO ;0/ RIHU PDL PXOW GHFkW R VLQWD[ FRPRG SHQWUX UHSUH]HQWDUHD
GDWHORU VWUXFWXUDWH VDX VHPLVWUXFWXUDWH ;0/ FRQVW GLQWU-o familie de limbaje
bazate pe XML pentru reprezentarea dateORU üL UHODLLORU GLQWUH HOH
$FHDVW IDPLOLH GH OLPEDMH PHQLWH D DGDSWD FRQFHSWHOH FXUHQWH GH
stocare, modHODUH üL SXEOLFDUH SH :HE D GDWHORU HVWH FRPSXV GLQ
• XML (Extensible Markup Language) – VXEVHW DO VSHFLILFDLHL 6*0/
FRQFHSXW SHQWUX R LPSOHPHQWDUH PDL XüRDU %UD et al., 2004a; Bray
et al. E %UD +ROODQGHU üL /DPDQ
0RGDOLWLOH GH
validare sunt concretizate de schemele XML, specificate în Fallside
üL :DOPVH
• XLL (Extensible Linking Language) – oferind suport pentru specifi-
FDUHD GH OHJWXUL KLSHUWH[W FRQFUHWL]DW vQ GoX FRPSRQHQWH PDMRUH
– XLink – conceput pentru descrierea legWXULORU VLPSOH VDX
PXOWLSOH
GLQWUH UHVXUVHOH :HE 'H5RVH 0DOHU üL 2UFKDG
2001; DeRose et al., 2005);
– XPointer – DUH FD VFRS SUHFL]DUHD vQ PDQLHU H[WHQVLELO D
unor scheme de adresare a datelor XML (Grosso et al., 2003);
• XSL (Extensible Stylesheet Language) – permite transformarea
documentelor XML în alte tipuri de documente (XML, XHTML,
WML etc.) – YH]L ODUN
üL .D
– üL DWDüDUHD XQRU
obiecte de formatare (Adler et al., 2001; Berlung, 2006), în vederea
UHGULL FRQLQXWXOXL ;0/ vQ IRUPDWH precum PDF;
• XQuery – vPSUHXQ FX OLPEDMXO ;3DWK ODUN üL 'H5RVH 
Berlung et al.
RIHU SRVLELOLWDWHD LQWHURJULL GRFXPHQWHORU
XML (detalii în Boag et al., 2005).
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'
Sabin Buraga: 'Tehnologii XML'

Mais conteúdo relacionado

Mais procurados

Qabalah: The mystical heritage of the children of Abraham
Qabalah: The mystical heritage of the children of AbrahamQabalah: The mystical heritage of the children of Abraham
Qabalah: The mystical heritage of the children of AbrahamCarlos Campani
 
Neuronart Portfolio
Neuronart PortfolioNeuronart Portfolio
Neuronart PortfolioPG Stéphan
 
Informe conciliación1
Informe conciliación1Informe conciliación1
Informe conciliación1Heidy Balanta
 
Pleural and pericardial mesothelioma
Pleural and pericardial mesotheliomaPleural and pericardial mesothelioma
Pleural and pericardial mesotheliomaAbdulsalam Taha
 
Une en iso 9001-2008
Une en iso 9001-2008Une en iso 9001-2008
Une en iso 9001-2008jovanmiguel
 
Anonimo Mitologia Universal
Anonimo   Mitologia UniversalAnonimo   Mitologia Universal
Anonimo Mitologia UniversalPalau Lax
 
Cooperative Localization Based on Received Signal Strength in Wireless Sensor...
Cooperative Localization Based on Received Signal Strength in Wireless Sensor...Cooperative Localization Based on Received Signal Strength in Wireless Sensor...
Cooperative Localization Based on Received Signal Strength in Wireless Sensor...?? ?
 
Nielsen Vietnam Hcm Cv Hanoi Regional Consumer Differences June09v2
Nielsen Vietnam Hcm Cv Hanoi Regional Consumer Differences June09v2Nielsen Vietnam Hcm Cv Hanoi Regional Consumer Differences June09v2
Nielsen Vietnam Hcm Cv Hanoi Regional Consumer Differences June09v2abc abc
 
Calea spre Parteneriat - Programul Introducing Broker
Calea spre Parteneriat - Programul Introducing BrokerCalea spre Parteneriat - Programul Introducing Broker
Calea spre Parteneriat - Programul Introducing BrokerSSIF Romcapital SA
 
Estudio hidrologico - ALLPE
Estudio hidrologico - ALLPEEstudio hidrologico - ALLPE
Estudio hidrologico - ALLPEALLPE
 

Mais procurados (16)

Las nubes
 Las nubes Las nubes
Las nubes
 
Qabalah: The mystical heritage of the children of Abraham
Qabalah: The mystical heritage of the children of AbrahamQabalah: The mystical heritage of the children of Abraham
Qabalah: The mystical heritage of the children of Abraham
 
Neuronart Portfolio
Neuronart PortfolioNeuronart Portfolio
Neuronart Portfolio
 
Informe conciliación1
Informe conciliación1Informe conciliación1
Informe conciliación1
 
IMCI 2008 Edition by WHO
IMCI 2008 Edition by WHOIMCI 2008 Edition by WHO
IMCI 2008 Edition by WHO
 
Pleural and pericardial mesothelioma
Pleural and pericardial mesotheliomaPleural and pericardial mesothelioma
Pleural and pericardial mesothelioma
 
Une en iso 9001-2008
Une en iso 9001-2008Une en iso 9001-2008
Une en iso 9001-2008
 
Anonimo Mitologia Universal
Anonimo   Mitologia UniversalAnonimo   Mitologia Universal
Anonimo Mitologia Universal
 
Cooperative Localization Based on Received Signal Strength in Wireless Sensor...
Cooperative Localization Based on Received Signal Strength in Wireless Sensor...Cooperative Localization Based on Received Signal Strength in Wireless Sensor...
Cooperative Localization Based on Received Signal Strength in Wireless Sensor...
 
Torta de soya
Torta de soyaTorta de soya
Torta de soya
 
Esteril
EsterilEsteril
Esteril
 
Nielsen Vietnam Hcm Cv Hanoi Regional Consumer Differences June09v2
Nielsen Vietnam Hcm Cv Hanoi Regional Consumer Differences June09v2Nielsen Vietnam Hcm Cv Hanoi Regional Consumer Differences June09v2
Nielsen Vietnam Hcm Cv Hanoi Regional Consumer Differences June09v2
 
Aire
AireAire
Aire
 
Calea spre Parteneriat - Programul Introducing Broker
Calea spre Parteneriat - Programul Introducing BrokerCalea spre Parteneriat - Programul Introducing Broker
Calea spre Parteneriat - Programul Introducing Broker
 
Estudio hidrologico - ALLPE
Estudio hidrologico - ALLPEEstudio hidrologico - ALLPE
Estudio hidrologico - ALLPE
 
Anexo 12 inpsasel
Anexo 12 inpsaselAnexo 12 inpsasel
Anexo 12 inpsasel
 

Destaque

L. Alboaie, S. Buraga: "Servicii Web. Concepte de bază și implementări" (2006)
L. Alboaie, S. Buraga: "Servicii Web. Concepte de bază și implementări" (2006)L. Alboaie, S. Buraga: "Servicii Web. Concepte de bază și implementări" (2006)
L. Alboaie, S. Buraga: "Servicii Web. Concepte de bază și implementări" (2006)Sabin Buraga
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Sabin Buraga
 
Cu codul în "nori"
Cu codul în "nori"Cu codul în "nori"
Cu codul în "nori"Sabin Buraga
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minuteSabin Buraga
 
Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Sabin Buraga
 
Web in 3 Dimensiuni (Web in 3D)
Web in 3 Dimensiuni (Web in 3D)Web in 3 Dimensiuni (Web in 3D)
Web in 3 Dimensiuni (Web in 3D)Sabin Buraga
 
Sabin Buraga -- "Semantic Web. Fundamente şi aplicaţii"
Sabin Buraga -- "Semantic Web. Fundamente şi aplicaţii"Sabin Buraga -- "Semantic Web. Fundamente şi aplicaţii"
Sabin Buraga -- "Semantic Web. Fundamente şi aplicaţii"Sabin Buraga
 
S. Buraga, G. Ciobanu: 'Atelier de programare în rețele de calculatoare' (2001)
S. Buraga, G. Ciobanu: 'Atelier de programare în rețele de calculatoare' (2001)S. Buraga, G. Ciobanu: 'Atelier de programare în rețele de calculatoare' (2001)
S. Buraga, G. Ciobanu: 'Atelier de programare în rețele de calculatoare' (2001)Sabin Buraga
 
Tendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor WebTendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor WebSabin Buraga
 
Design (Web) responsiv
Design (Web) responsivDesign (Web) responsiv
Design (Web) responsivSabin Buraga
 
Telemon - SOA-based e-health system
Telemon - SOA-based e-health systemTelemon - SOA-based e-health system
Telemon - SOA-based e-health systemSabin Buraga
 
Using Semantic Web Technologies to Discover Resources within the Intranet of ...
Using Semantic Web Technologies to Discover Resources within the Intranet of ...Using Semantic Web Technologies to Discover Resources within the Intranet of ...
Using Semantic Web Technologies to Discover Resources within the Intranet of ...Sabin Buraga
 
Are You Afraid of Semantic Web?
Are You Afraid of Semantic Web?Are You Afraid of Semantic Web?
Are You Afraid of Semantic Web?Sabin Buraga
 
Web brother is watching you
Web brother is watching youWeb brother is watching you
Web brother is watching youSabin Buraga
 
Retele ed4 tanenbaum(romana)
Retele ed4 tanenbaum(romana)Retele ed4 tanenbaum(romana)
Retele ed4 tanenbaum(romana)Cornel Bubu
 
(ex-student) Life as... (FII Graduation 2016)
(ex-student) Life as... (FII Graduation 2016)(ex-student) Life as... (FII Graduation 2016)
(ex-student) Life as... (FII Graduation 2016)Sabin Buraga
 
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...Sabin Buraga
 

Destaque (20)

L. Alboaie, S. Buraga: "Servicii Web. Concepte de bază și implementări" (2006)
L. Alboaie, S. Buraga: "Servicii Web. Concepte de bază și implementări" (2006)L. Alboaie, S. Buraga: "Servicii Web. Concepte de bază și implementări" (2006)
L. Alboaie, S. Buraga: "Servicii Web. Concepte de bază și implementări" (2006)
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
 
Cu codul în "nori"
Cu codul în "nori"Cu codul în "nori"
Cu codul în "nori"
 
HTML5 în XXX de minute
HTML5 în XXX de minuteHTML5 în XXX de minute
HTML5 în XXX de minute
 
Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016
 
Web in 3 Dimensiuni (Web in 3D)
Web in 3 Dimensiuni (Web in 3D)Web in 3 Dimensiuni (Web in 3D)
Web in 3 Dimensiuni (Web in 3D)
 
Sabin Buraga -- "Semantic Web. Fundamente şi aplicaţii"
Sabin Buraga -- "Semantic Web. Fundamente şi aplicaţii"Sabin Buraga -- "Semantic Web. Fundamente şi aplicaţii"
Sabin Buraga -- "Semantic Web. Fundamente şi aplicaţii"
 
S. Buraga, G. Ciobanu: 'Atelier de programare în rețele de calculatoare' (2001)
S. Buraga, G. Ciobanu: 'Atelier de programare în rețele de calculatoare' (2001)S. Buraga, G. Ciobanu: 'Atelier de programare în rețele de calculatoare' (2001)
S. Buraga, G. Ciobanu: 'Atelier de programare în rețele de calculatoare' (2001)
 
Tendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor WebTendinte in proiectarea si dezvoltarea aplicatiilor Web
Tendinte in proiectarea si dezvoltarea aplicatiilor Web
 
Design (Web) responsiv
Design (Web) responsivDesign (Web) responsiv
Design (Web) responsiv
 
Studentii iau altitudine. FII pe vf. Lenin (august 2011)
Studentii iau altitudine. FII pe vf. Lenin (august 2011)Studentii iau altitudine. FII pe vf. Lenin (august 2011)
Studentii iau altitudine. FII pe vf. Lenin (august 2011)
 
Telemon - SOA-based e-health system
Telemon - SOA-based e-health systemTelemon - SOA-based e-health system
Telemon - SOA-based e-health system
 
Using Semantic Web Technologies to Discover Resources within the Intranet of ...
Using Semantic Web Technologies to Discover Resources within the Intranet of ...Using Semantic Web Technologies to Discover Resources within the Intranet of ...
Using Semantic Web Technologies to Discover Resources within the Intranet of ...
 
Are You Afraid of Semantic Web?
Are You Afraid of Semantic Web?Are You Afraid of Semantic Web?
Are You Afraid of Semantic Web?
 
Web brother is watching you
Web brother is watching youWeb brother is watching you
Web brother is watching you
 
Retele ed4 tanenbaum(romana)
Retele ed4 tanenbaum(romana)Retele ed4 tanenbaum(romana)
Retele ed4 tanenbaum(romana)
 
(ex-student) Life as... (FII Graduation 2016)
(ex-student) Life as... (FII Graduation 2016)(ex-student) Life as... (FII Graduation 2016)
(ex-student) Life as... (FII Graduation 2016)
 
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
Semantic Web Semantic Web-based Agent Applications based Agent Applications –...
 
Web - CGI
Web - CGIWeb - CGI
Web - CGI
 
Web - PHP
Web - PHPWeb - PHP
Web - PHP
 

Semelhante a Sabin Buraga: 'Tehnologii XML'

Amez 46 all
Amez 46 allAmez 46 all
Amez 46 allmrtgl
 
StorageAssessmentA4card1
StorageAssessmentA4card1StorageAssessmentA4card1
StorageAssessmentA4card1Steve Tester
 
New holland tm165 tractor service repair manual
New holland tm165 tractor service repair manualNew holland tm165 tractor service repair manual
New holland tm165 tractor service repair manualfujskekfksmem
 
New holland tm115 tractor service repair manual
New holland tm115 tractor service repair manualNew holland tm115 tractor service repair manual
New holland tm115 tractor service repair manualfujskekfksmem
 
New holland tm115 tractor service repair manual
New holland tm115 tractor service repair manualNew holland tm115 tractor service repair manual
New holland tm115 tractor service repair manualfuekdksmemm
 
G2 bsc commissioning manual release b7.2
G2 bsc commissioning manual   release b7.2G2 bsc commissioning manual   release b7.2
G2 bsc commissioning manual release b7.2chungminh1108
 
2012 BRZ wiring service manual
2012 BRZ wiring service manual2012 BRZ wiring service manual
2012 BRZ wiring service manualLeo Kokkat
 
Smart_Land_Registration_Using_BlockChain.pdf
Smart_Land_Registration_Using_BlockChain.pdfSmart_Land_Registration_Using_BlockChain.pdf
Smart_Land_Registration_Using_BlockChain.pdfnilesh405711
 
Smart_Land_Registration_Using_BlockChain.pdf
Smart_Land_Registration_Using_BlockChain.pdfSmart_Land_Registration_Using_BlockChain.pdf
Smart_Land_Registration_Using_BlockChain.pdfnilesh405711
 
Dip profiles-documentation
Dip profiles-documentationDip profiles-documentation
Dip profiles-documentationVineeth Kadam
 
SEO - Optimizacion en buscadores
SEO - Optimizacion en buscadoresSEO - Optimizacion en buscadores
SEO - Optimizacion en buscadoresKanvasMedia
 
Web Scripting Project JavaScripts and HTML WebPage
Web Scripting Project JavaScripts and HTML WebPageWeb Scripting Project JavaScripts and HTML WebPage
Web Scripting Project JavaScripts and HTML WebPageSunny U Okoro
 
IT1150CapstoneProjectFall2016TedCarr
IT1150CapstoneProjectFall2016TedCarrIT1150CapstoneProjectFall2016TedCarr
IT1150CapstoneProjectFall2016TedCarrTed Carr
 

Semelhante a Sabin Buraga: 'Tehnologii XML' (20)

Amez 46 all
Amez 46 allAmez 46 all
Amez 46 all
 
Suprfull
SuprfullSuprfull
Suprfull
 
StorageAssessmentA4card1
StorageAssessmentA4card1StorageAssessmentA4card1
StorageAssessmentA4card1
 
New holland tm165 tractor service repair manual
New holland tm165 tractor service repair manualNew holland tm165 tractor service repair manual
New holland tm165 tractor service repair manual
 
New holland tm115 tractor service repair manual
New holland tm115 tractor service repair manualNew holland tm115 tractor service repair manual
New holland tm115 tractor service repair manual
 
New holland tm115 tractor service repair manual
New holland tm115 tractor service repair manualNew holland tm115 tractor service repair manual
New holland tm115 tractor service repair manual
 
Seguranca
SegurancaSeguranca
Seguranca
 
0176_NAFTA_AEN.pdf
0176_NAFTA_AEN.pdf0176_NAFTA_AEN.pdf
0176_NAFTA_AEN.pdf
 
0176_NAFTA_AEN (1).pdf
0176_NAFTA_AEN (1).pdf0176_NAFTA_AEN (1).pdf
0176_NAFTA_AEN (1).pdf
 
G2 bsc commissioning manual release b7.2
G2 bsc commissioning manual   release b7.2G2 bsc commissioning manual   release b7.2
G2 bsc commissioning manual release b7.2
 
Sj user manual
Sj user manualSj user manual
Sj user manual
 
2012 BRZ wiring service manual
2012 BRZ wiring service manual2012 BRZ wiring service manual
2012 BRZ wiring service manual
 
Smart_Land_Registration_Using_BlockChain.pdf
Smart_Land_Registration_Using_BlockChain.pdfSmart_Land_Registration_Using_BlockChain.pdf
Smart_Land_Registration_Using_BlockChain.pdf
 
Smart_Land_Registration_Using_BlockChain.pdf
Smart_Land_Registration_Using_BlockChain.pdfSmart_Land_Registration_Using_BlockChain.pdf
Smart_Land_Registration_Using_BlockChain.pdf
 
Dip profiles-documentation
Dip profiles-documentationDip profiles-documentation
Dip profiles-documentation
 
Dip profiles-documentation
Dip profiles-documentationDip profiles-documentation
Dip profiles-documentation
 
SEO - Optimizacion en buscadores
SEO - Optimizacion en buscadoresSEO - Optimizacion en buscadores
SEO - Optimizacion en buscadores
 
Indice servizi
Indice serviziIndice servizi
Indice servizi
 
Web Scripting Project JavaScripts and HTML WebPage
Web Scripting Project JavaScripts and HTML WebPageWeb Scripting Project JavaScripts and HTML WebPage
Web Scripting Project JavaScripts and HTML WebPage
 
IT1150CapstoneProjectFall2016TedCarr
IT1150CapstoneProjectFall2016TedCarrIT1150CapstoneProjectFall2016TedCarr
IT1150CapstoneProjectFall2016TedCarr
 

Mais de Sabin Buraga

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 

Mais de Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 

Último

KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Commit University
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 

Último (20)

KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)Crea il tuo assistente AI con lo Stregatto (open source python framework)
Crea il tuo assistente AI con lo Stregatto (open source python framework)
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 

Sabin Buraga: 'Tehnologii XML'

  • 2. Tehnologii XML2 Seria Web HVWH FRRUGRQDW GH GU 6DELQ %XUDJD )DFXOWDWHD GH ,QIRUPDWLF 8QLYHUVLWDWHD Å$O, X]Dµ ,DüL
  • 3. Sabin Buraga HVWH OHFWRU GRFWRU OD )DFXOWDWHD GH ,QIRUPDWLF D 8QLYHUVLWLL Å$O, X]Dµ GLQ ,DüL ILLQG WLWXODUXO FXUVXULORU Å7HKQRORJLL :HEµ Å6HPDQWLF :HEµ Å,QWHUDFLXQH RP- -FDOFXODWRUµ üL Å5HHOH GH FDOFXODWRDUHµ (VWH ODXUHDW DO 3UHPLXOXL Å*KHRUJKH kUWLDQXµ DO $FDGHPLHL 5RPkQH
  • 4. 0DL PXOWH DPQXQWH SULYLWRDUH OD DFWLYLWLOH VDOH VXQW disponibile pe Web la adresa http://www.infoiasi.ro/~busaco. La Editura Polirom a mai publicat: $WHOLHU GH SURJUDPDUH vQ UHHOH GH FDOFXODWRDUH (în colaborare, 2001), Programare Web în EDVK üL 3HUO (în colaborare, 2002), 3URLHFWDUHD VLWXULORU :HE 'HVLJQ üL IXQFLRQDOLWDte + CD (2002), $SOLFDLL :HE OD FKHLH (coord., 2003), Utilizare Linux (în colaborare, 2004), Situri Web la cheie. 6ROXLL SURIHVLRQDOH GH LPSOHPHQWDUH (coord., 2004), 3URLHFWDUHD VLWXULORU :HE 'HVLJQ üL IXQFLRQDOLWDWH ' HGLLD D ,,D
  • 5. üL PrimiL SDüL vQ /LQX[ (în colaborare, 2006). %UXQD =D QL $XJXVWR 3DOPRQDUL D FXUD GL
  • 6. 0DQXDOH GL SVLFRORJLD GL FRPXQLWº ƒ E 6RFLHWº HGLWULFH LO 0XOLQR %RORJQD © E (GLWXUD 32/,520 ZZZSROLURPUR (GLWXUD 32/,520 ,DL %GXO DURO , QU 32 %2; %XFXUHWL %GXO , %U?WLDQX QU HW DS 23 32 %2; 'HVFULHUHD ,3 D %LEOLRWHFLL 1D@LRQDOH D 5RP¼QLHL %85$*$ 6$%,1 251(/,8 7HKQRORJLL ;0/ 6DELQ %XUDJD r ,DL 3ROLURP %LEOLRJU ,6%1
  • 11. 5 Cuprins Prefa ......................................................................................................................9 Capitolul 1 – Calea de acces la Web.................................................................11 1. Preambul.......................................................................................................11 $VSHFWH HVHQLDOH SULYLWRDUH OD SURWRFROXO +773....................................12 2.1. Preliminarii...........................................................................................12 RQFHSWH üL IXQFLRQDUH......................................................................12 2.3. Mesajele HTTP.....................................................................................18 2.4. Atributele HTTP..................................................................................22 /RFXO +773 vQ DUKLWHFWXUD VSDLXOXL :::............................................26 5HIHULQH............................................................................................................28 Capitolul 2 – Modele de date semistructurate. Familia XML.....................29 1. Introducere...................................................................................................29 1.1. Formate de date...................................................................................29 1.2. Modele de date ....................................................................................30 1.3. Date semistructurate...........................................................................31 2. XML pentru reprezentarea datelor semistructurate...............................33 2.1. Precursori .............................................................................................33 RQFHSWH GH ED] DUDFWHUL]DUH üL WUVWXUL...................................34 RQVWLWXHQL..........................................................................................37 2.4. Familia XML.........................................................................................44 $SOLFDLL üL LQVWUXPHQWH ;0/ ............................................................45 2.6. O privire de ansamblu........................................................................47 RPSRQHQWH GH ED] DOH IDPLOLHL ;0/....................................................49 3.1 6SDLLOH GH QXPH ;0/ ........................................................................49 3.2. Modelul de date XML: XML Infoset.................................................52 3.3. Transformarea documentelor XML..................................................54 3.4. Validarea documentelor XML.........................................................102 ([SULPDUHD OHJWXULORU YLD ;/LQN ...................................................137 4. Limbaje bazate pe XML. Exemple...........................................................143 ,QWHUDFWLYLWDWHD FX XWLOL]DWRUXO )LOLHUD ;+70/ üL ;)RUPV....144 4.2. Specificarea structurii hipertext a unui sit Web............................150 3URWRFROXO GH FRPXQLFDLH IRORVLW GH -DEEHU..................................150 ,QWHURJUL ;0/ ..........................................................................................153 5.1. Preliminarii.........................................................................................153
  • 12. Tehnologii XML6 5.2. Baze de date native XML..................................................................153 0RGDOLWL GH UHDOL]DUH D LQWHURJULORU ...........................................157 ,PSOHPHQWUL üL DSOLFDLL...................................................................163 5.5. Studii de caz.......................................................................................164 ûDEORDQH GH SURLHFWDUH ;0/....................................................................177 6.1. Punerea problemei............................................................................177 H HVWH XQ üDEORQ.............................................................................178 DWHJRULL GH üDEORDQH GH SURLHFWDUH ;0/......................................178 5HIHULQH..........................................................................................................189 Capitolul 3 – 3URFHVUL ;0/............................................................................193 1. Preliminarii.................................................................................................193 2. Modelul DOM............................................................................................194 2.1. Caracterizare......................................................................................194 ,QWHUIHH üL LPSOHPHQWUL..................................................................196 )XQFLRQDOLWL GH ED] DOM Core.................................................197 2.4. Extensii oferite de DOM nivelul 2...................................................202 2.5. Extensii oferite de DOM nivelul 3...................................................206 ,PSOHPHQWUL......................................................................................207 2.7. Exemple ..............................................................................................209 ,QWHUIDD 6$;..............................................................................................240 3.1. Caracterizare......................................................................................240 3.2. Maniera de procesare........................................................................240 ,PSOHPHQWUL......................................................................................244 3.4. Exemple ..............................................................................................244 3.5. DOM versus SAX ...............................................................................251 $OWH PRGDOLWL GH SURFHVDUH ;0/..........................................................253 4.1. Preliminarii.........................................................................................253 3URFHVDUHD VLPSOLILFDW D GRFXPHQWHORU ;0/...............................254 4.3. Consultarea documentelor XML prin XMLReader .......................255 4.4. Generarea documentelor XML prin XMLWriter...........................259 $OWH IDFLOLWL RIHULWH GH .NET Framework .....................................260 2 DOWHUQDWLY OD '20 SULQ ;20 ....................................................266 5HIHULQH..........................................................................................................266 Capitolul 4 – XML pentru servicii Web: SOA, REST, AJAX.....................269 1. Preambul.....................................................................................................269 $UKLWHFWXUD RULHQWDW VSUH VHUvicii Web .................................................270 2.1. Introducere.........................................................................................270 7HKQRORJLL GH SURJUDPDUH D DSOLFDLLORU :HE ...............................271 2.3. Un studiu de caz................................................................................285
  • 13. 7 3. AJAX (Asynchronous JavaScript And XML).............................................299 3.1. Context................................................................................................299 3.2. Caracterizare......................................................................................302 3.3. 8Q SULP H[HPSOX YHULILFDUHD H[LVWHQHL XQXL QXPH de cont de utilizator..........................................................................304 3.4. Al doilea exemplu: jurnalizarea pe partea de server D H[FHSLLORU DSUXWH vQ SURJUDPHOH -DYD6FULSW executate în cadrul browser-ului......................................................312 $VSHFWH LPSRUWDQWH vQ OHJWXU FX UHDOL]DUHD GH DSOLFDLL $-$;...............................................................................320 3.6. AJAX în contextul REST...................................................................322 8WLOL]UL üL LQWHUIHH GH SURJUDPDUH $-$;.....................................323 RQVLGHUDLL SULYLQG VHFXULWDWHD DSOLFDLLORU IRORVLQG $-$;.......323 3.9. În loc de concluzii…..........................................................................325 5HIHULQH..........................................................................................................327 Capitolul 5 – WUH :HE-ul semantic .............................................................331 1. Introducere.................................................................................................331 2. Spre Web-ul semantic...............................................................................334 2.1. Punerea problemei............................................................................334 2.2. Niveluri ale Web-ului semantic ......................................................335 3. Specificarea meta-datelor prin RDF........................................................337 DUDFWHUL]DUH JHQHUDO ......................................................................337 0RGHOXO GH ED] ................................................................................339 3.3. Vocabulare de meta-date..................................................................342 3.4. Sintaxe alternative.............................................................................346 ,PSOHPHQWUL üL XWLOL]UL...................................................................349 5') üL PLFURIRUPDWHOH......................................................................351 4. De la Web 1.0 la Web 2.0 (Data Web).......................................................352 4.1. Preliminarii. Caracteristici ale „noului” Web................................352 0DUFDMH DGQRWUL
  • 14. GHILQLWH GH XWLOL]DWRU........................................354 4.3. Participare, nu doar publicare a datelor ........................................355 4.4. Descentralizare radicaO ...................................................................356 ÍQFUHGHUH UDGLFDO )RORVLUHD VWDQGDUGHORU ....................................357 ,QWHUDFLXQH ERJDW FX XWLOL]DWRUXO..................................................358 4.7. Spre Web-ul social?...........................................................................359 5. Ontologii.....................................................................................................361 5.1. Ontologia cu „O” mare sau mic? ....................................................361 5.2. Scopuri................................................................................................362
  • 15. Tehnologii XML8 6. Tipuri de ontologii ....................................................................................362 ODVLILFUL............................................................................................362 6.2. Specificarea taxonomiilor.................................................................364 6.3. Tezaure ...............................................................................................369 0RGHODUHD FXQRüWLQHORU 2QWRORJLL FRPSOH[H...............................370 7. Specificarea unei ontologii.......................................................................371 7.1. Specificarea categoriilor ...................................................................372 6SHFLILFDUHD SURSULHWLORU................................................................373 6SHFLILFDUHD UHODLLORU ........................................................................374 ([HPSOLILFUL......................................................................................375 8. Formalisme.................................................................................................377 8.1. Punerea problemei............................................................................377 8.2. Spre un model formal.......................................................................377 /RJLFLOH GHVFULHULL 2 SUH]HQWDUH VXFFLQW......................................378 9. Proiectarea (ingineria) ontologiilor.........................................................381 9.1. Preliminarii.........................................................................................381 9.2. Metodologii de proiectare a ontologiilor.......................................381 10. Specificarea ontologiilor prin OWL......................................................385 10.1. Caracterizare....................................................................................385 10.2. Sintaxa OWL....................................................................................386 'LIHUHQH vQWUH QLYHOXULOH 2:/ .....................................................392 WUH UDLRQDPHQW DXWRPDW....................................................................393 11.1. MaQLHUH GH UDLRQDPHQW.................................................................393 'H OD RQWRORJLL OD UDLRQDPHQW DXWRPDW .......................................394 12. „Concluzii”...............................................................................................403 5HIHULQH..........................................................................................................404 %LEOLRJUDILH JHQHUDO ........................................................................................409
  • 16. 3UHID „,PSRUWDQW HVWH QX XQGH HüWL FL vQFRWUR WH vQGUHSL” Oliver Wendell Holmes Jr. DUWHD GH ID – parte a seriei Web a Editurii Polirom – are drept principal VFRS SUH]HQWDUHD FHORU PDL LPSRUWDQWH WHQGLQH vQ XWLOL]DUHD SURLHFWDUHD SURFHVDUHD üL FRQFHSWXDOL]DUHD GDWHORU YLD VXLWD GH WHKQRORJLL Extensible Markup Language (XML – acronim explicitat, cu umor, de unii prin Excellent Marketing Language). Al doilea demers este cel de a-l conduce pe cititor spre YLLWRUXO vQWUHY]XW DO VSDLXOXL :RUOG :LGH :HE 6XELHFWHOH DWLQVH GHRVHELW GH DFWXDOH SH SODQ PRQGLDO VH UHIHU vQ VSe- cial la GLYHUVH DVSHFWH DOH IDPLOLHL ;0/ VROXLL SHQWUX PRGHODUHD üL VWRFDUHD FRQLQXWXOXL VHPLVWUXFWXUDW RQVLGHUP F GH LQWHUHV VH YRU EXFXUD – prin- tre altele – SULOH GHGLFDWH ED]HORU GH GDWH QDWLYH ;0/ LQFOXVLY FX SUHzen- tarea unor limbaje de interogare SUHFXP ;3DWK üL ;4XHU
  • 17. üDEORDQHORU GH SURLHFWDUH ;0/ VDX PDQLHUHL GH LQWHUDFLXQH :HE YLD $-$; Asynchronous JavaScript And XML
  • 18. 9ROXPXO QX RPLWH PRGDOLWLOH GH SURFHVDUH ;0/ SULQ GLYHUVH PHWRGH GH UHGDUH D FRQLQXWXOXL YLD WUDQVIRUPUL ;6/ Exten- sible Styesheet Language), de validare a documentelor sau de creare a servi- ciilor Web, punctând cele mai bune practici de utilizare. 'H DVHPHQHD IDFHP R WUHFHUH vQ UHYLVW D FRQFHSWHORU GH ED] üL D FHORU mai populare tehnologii ale Web-ului, cu reliefarea GLUHFLLORU GH HYROXLH FWUH Data Web, Social Web üL FHHD FH YD IL Semantic Web. De la prezentarea modului de acces via protocolul HTTP (Hypertext Transfer Protocol), de- WDOLHP FRPSRQHQWHOH GH ED] DOH IDPLOLHL GH OLPEDMH ;0/ SHQWUX D DMXQJH V GHVFULHP – într-un final mereu amânat – meta-GDWHOH üL RQWRORJLLOH (x- puneUHD HVWH UHDOL]DW GLQWU-R SHUVSHFWLY SUDJPDWLF GDU QX QHJOLMP PHQLonarea bazelor teoretice, acolo unde este cazul. 1XPHURDVHOH LPSOHPHQWUL SUH]HQWDWH UHFXUJ OD GLYHUVH SDUDGLJPH üL limEDMH GH SURJUDPDUH SUHFXP -DYD -DYD6FULSW 3HUO üL 3+3 'H asemenea, sunt descrise diverse limbaje de marcare bazate pe XML – XHTML 2.0, XForms, RDF (Resource Description Framework), FOAF (Friend Of A Friend
  • 19. üL 2:/ Web Ontology Language) – üL sunt prezentate me- todologiile de proiectare a unora noi.
  • 20. 3UHID10 0DWHULDOXO YD SXWHD IL SDUFXUV üL vQHOHV GH RULFH SHUVRDQ LQWHUHVDW GH domeniul Web, în special de meta-OLPEDMXO ;0/ LQWHQLRQkQG V-üL IRr- meze o privire de ansamblu asupra tehnologiilor actuale üL DVXSUD HYROXLHL Web-XOXL vQ YLLWRUXO DSURSLDW 9ROXPXO VH DGUHVHD] GH]YROWDWRULORU GH Vituri üL DSOLFDLL :HE VSHFLDOLüWLORU vQ GRPHQLL SUHFXP ED]HOH GH GDWH LQWHUDFiunea om-FDOFXODWRU LQWHOLJHQD DUWLILFLDO LQJLQHULD VRIWZDUH VDX FDOFXOXO GLs- tribuit, SUHRFXSDL GH PRGHODUHD FRQFHSWXDO D GDWHORU üL GH prelucrarea IOH[LELO HILFLHQW üL LQGHSHQGHQW GH SODWIRUP D GRFXPHQWHORU Atât stu- GHQLL üL PDVWHUDQ]LL GH OD IDFXOWLOH GH LQIRUPDWLF VDX FX SURILO vQUXGLW FkW üL HOHYLL GLQ FODVHOH PDUL YRU JVL FX FHUWLWXGLQH LQIRUPDLL GH LQWHUHV referitoare la Web. 'HüL OXFUDUHD GH ID D IRVW HIHFWLY VFULV vQ SHULRDGD LDQXDULH – 27 fe- EUXDULH FRQLQXWXO HL UHIOHFW H[SHULHQD DFXPXODW SH SDUFXUVXO XOWi- PLORU DQL üL VH ED]HD] vQWU-R DQXPLW PVXU SH DFWLYLWaWHD GHVIüXUDW GH autor în cadrul unor discipline ca Tehnologii Web, Semantic Web üL ,QWHUDFi- une om-calculator SUHGDWH OD )DFXOWDWHD GH ,QIRUPDWLF D 8QLYHUVLWLL Å$le- [DQGUX ,RDQ X]Dµ GLQ ,DüL $SUHFLHP LQWHUHVXO üL VSULMLQXO DFRUGat de-a lungul anilor de o parte din- WUH VWXGHQLL QRüWUL – DFWXDOPHQWH DEVROYHQL PDMRULWDWHD DUWHD QX DU IL DMXQV OD IRUPD DFWXDO IU DSRUWXO GLUHFW VDX LQGLUHFW DO GRPQLORU Dr. Cor- nelius Croitoru, Laurian Gridinoc, CWOLQ +ULFX, Dr. Toader Jucan, Manuel ûXEUHGX üL 'U ûWHIDQ 7UXüDQ-Matu 'H DVHPHQHD QH H[SULPP JUDWLWXGLQHD QRDVWU FROHFWLYXOXL (GLWXULL 3ROLURP üL SULQLORU QRüWUL 1X vQ XOWLPXO rând, mulXPLP ILUPHL 6QF52 SHQWUX DFRUGDUHD XQHL OLFHQH DFDGHPLFH D editorului XML oXygen /. SLWXO FULL SRDWH IL DFFHVDW OD http://www.infoiasi.ro/~busaco/books/xml/. Ma- joritatea surselor incluse în acest volum pot fi preluate direct de pe sit, sub auspiciile preY]XWH GH OLFHQHOH *18 GNU is Not UNIX). Autorul poate fi contactat via situl personal: http://www.infoiasi.ro/~busaco/. 1X QH PDL UPkQH GHFkW V Y GRULP R UH
  • 21. SDUFXUJHUH SOFXW D FULL üL PXOW VXFFHV vQ DFWLYLWDWHD GXPQHDYRDVWU GH – SRWHQLDOL VDX FRQVDFUDL – DFWXDOLYLLWRUL VSHFLDOLüWL vQ WHKQRORJLLOH ;0/ Dr. Sabin Buraga ,DüL 27 februarie 2006
  • 22. Capitolul 1 Calea de acces la Web „$ GHILQL vQVHDPQ D XFLGH D VXJHUD vQVHDPQ D FUHD” Stéphane Mallarmé $FHVW FDSLWRO DGXFH vQ DWHQLD FLWLWRUXOXL R VHULH GH DPQXQWH SULYito- are la protocolul de transfer al datelor hipertext ± HTTP (Hypertext Transfer Protocol). Suplimentar, se descriu caracteristicile principale ale identificatorilor uniformi de resurse. Cuvinte-cheie: protocol, HTTP, adresarea resurselor, URI. 1. Preambul 8QXO GLQWUH FHOH PDL LPSRUWDQWH üL PDL GH VXFFHV VHUYLFLL DOe Internetului, World Wide Web-ul – mai pe scurt, Web VDX VSDLXO WWW –, a fost instituit la CERN (Centre Européen pour la Recherche Nucléaire – Centrul European de HUFHWUL 1XFOHDUH GH OD *HQHYD
  • 23. vQ DQXO JUaLH YL]LXQLL OXL 6LU 7LP Berners-Lee. AceVWD vPSUHXQ FX 5REHUW DLOODX üL R HFKLS GH VSHFLDOLüWL D propus un sistem informatic disWULEXLW VFRSXO SULQFLSDO XUPULW ILLQG IDFLOL- tarea accesului rapid la inIRUPDLLOH WHKQLFH FXSULQVH vQ PDQXDOHOH GH XWLOL]DUH D FDOFXODWRDUHORU 'RX PDUL GLUHFLL SUHFXUVRDUH WUHEXLH PHQLRQDWH • GH]YROWDUHD KLSHUWH[WXOXL VDX D SURFHVULL FRPSXWHUL]DWH D GRFX- mentelor electronice complexe); • SURJUHVXO vQUHJLVWUDW vQ FHHD FH SULYHüWH SURLHFWDUHD üL IRORVLUHD SURWRFRDOHORU ,QWHUQHW FDUH DX IFXW SRVLELO FRPXQLFDUHD JOREDO GLQWUH UHHOHOH GH FDOFXODWRare. Web-XO UHSUH]LQW XQ VLVWHP GH GLVWULEXLH ORFDO VDX JOREDO D LQIRUPDLLORU hipermedia (Berners-/HH
  • 24. 'LQ SXQFW GH YHGHUH WHKQLF VSDLXO :HE SXQH OD GLVSR]LLH XQ VLVWHP JOREDO üL VWDQGDUGL]DW GH FRPXQLFare PXOWLPHGLD LQIRUPDLLOH ILLQG RUJDQL]DWH DVRFLDWLY üL GLsWULEXLWH vQ IXQFLH
  • 25. Tehnologii XML12 GH FHUHULOH XWLOL]DWRULORU IXQFLRQkQG FRQIRUP Podelului client/server. Putem vedea Web-XO FD ILLQG XQ XQLYHUV LQIRUPDLRQDO FRPSXV GLQ elemente de interes, denumite resurse, desemnate de identificatori globali GHQXPLL 85, Uniform Resource Identifiers). În cadrul acestui capitol, ne vom concentra mai ales asupra celor mai importante detalii referitoare la protocolul HTTP, una dintre componentele GH ED] DOH VSDLXOXL ::: 2$VSHFWHHVHQLDOHSULYLWRDUHODSURWRFROXO+773 2.1. Preliminarii %D]D FRPXQLFULL GLQWUH VHUYHUHOH üL FOLHQLL :HE OD QLYHO GH DSOLFaLH HVWH DVLJXUDW GH SURWRFROXO HTTP (Hypertext Transfer Protocol), ajuns actu- DOPHQWH OD YHUVLXQHD üL SUHFL]DW Ge documentul RFC 2616 (Gettys et al., 1999). Protocolul HTTP este folosit în special pentru hipertext, dar poate fi FRQVLGHUDW GUHSW SURWRFRO JHQHULF ED]D FRPXQLFULL vQWU-un sistem GLVWULEXLW GH PDQDJHPHQW DO GDWHORU 2 FDUDFWHULVWLF LPSRUWDQW D protocROXOXL HVWH LQGHSHQGHQD GH SODWIRUP GLIHULWHOH FDOFXODWRDUH FDUH FRPXQLF SULQ +773 SXWkQG IRORVL GLYHrVH VLVWHPH GH RSHUDUH üL DSOLFDLL KLSHUWH[W $FHDVWD VH UHDOL]HD] SULQ QHJRFLHUHD PRGXOXL GH UHSUH]HQWDUH D GDWHORU FDUH XUPHD] D IL WUDQVPLVH üL SULQ FDSDFLWDWHD LPSOHPHQWULORU GH D codifica sau decoGLILFD GDWHOH +773 HVWH IRORVLW vQF GLQ DQXO GH OD începuturile Web-ului. +773 UHSUH]LQW XQ SURWRFRO JHQHULF SHQWUX WUDQVPLWHUHD LQIRUPDLLORU în format hipertext, el aplicându-VH üL vQWUH XWLOL]DWRU üL Lntermediari pentru alte protocoale mai vechi: SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol) sau NNTP (Network News Transfer Protocol) detalii în Naik, 1998). Fiind un protocol utilizat în Internet, HTTP este bazat pe stiva de protocoale TCP/IP (Transmission Control Protocol/Internet Protocol), putând fi considerat fiabil (reliable). RQFHSWHüLIXQFLRQDUH 3ULQFLSDOHOH FRQFHSWH FX FDUH OXFUHD] SURWRFROXO VXQW cererea üL UVSXQVXO: un client Web trimite un mesaj (cererea) la un server 0HVDMXO FRQLQH identificatorul resursei dorite, dat sub forma unui URI (Uniform Resource Identifier
  • 26. PHWRGD GH DFFHV IRORVLW YHUVLXQHD SURWRFoOXOXL SUHFXP üL R serie de meta-LQIRUPDLL FDUH SRW IL XWLOH VHUYeUXOXL 5VSXQVXO VHUYHUXOXi FXSULQGH XQ FRG LQGLFkQG VWDUHD VHUYHUXOXL GXS LQWHUSUHWDUHD FHUHULL XQ
  • 27. Calea de acces la Web 13 mesaj explicativ pentru codul de stare transmis, meta-LQIRUPDLLOH FDUH YRU IL SURFHVDWH GH FWUH FOLHQW üL HYHQWXDO XQ FRQLQXW e.g., UHVXUVD VROLFLWDW
  • 28. În general, o sesiune GH FRPXQLFDUH +773 HVWH LQLLDW GH FWUH FOLHQW üL FRQVW GLQ FHUHUHD XQHL UHVXUVH LGHQWLILFDWH XQLF SH XQ VHUYHU FXQRVFXW $FHVWD HVWH QXPLW üL server de origine GDWRULW IDSWXOXL F vQ FRPXQLFDUHD vQWUH FOLHQW üL VHUYHU SRW V DSDU XQXO VDX PDL PXOL intermediari: proxy QXPLW üL server proxy), SRDUW (gateway) sau tunel (tunnel): – Proxy-ul este un intermediar care retrimite un mesaj HTTP, eventual modificând o parte a sa. – Poarta UHSUH]LQW XQ Lntermediar care se poate situa înaintea unui server de orLJLQH üL V VH LGHQWLILFH GUHSW DFHVWD FOLHQWXO :HE necunoscând acest aspect. – Tunelul HVWH XQ LQWHUPHGLDU FDUH QX VFKLPE FRQLQXWXO PHVDMXOXL HO are rol exclusiv de retransmitere a lui; de exemplu, tunelul poate fi folosit pentru (de)criptarea mesajeloU YHKLFXODWH vQWUH VHUYHU üL FOLHQW în cadrul unui intranet/extranet. ÍQ FHOH PDL PXOWH GLQWUH FD]XUL vQWUH FOLHQWXO üL VHUYHUXO GH RULJLQH QX H[LVW LQWHUPHGLDUL vQWUH DFHVWHD VWDELOLQGX-VH R FRQH[LXQH GLUHFW D VH YHGHD üL ILJXUD
  • 29. Figura 1. Modelul client/server HTTP: FOLHQWXO :HE IRUPXOHD] R FHUHUH GH VROLFLWDUH D XQHL UHVXUVH VWRFDWH SH XQ VHUYHU :HE üL SULPHüWH UVSXQVXO IXUQL]DW GH DFHO VHUYHU De asemenea, un alt concept important este cel de cache, desemnând un depozit local de stocare (în memorie, pe disc) a mesajelor (datelor) la nivel de server/client. Un proxy GHLQH REOLJDWRULX XQ cache ILLQG GHQXPLW üL sistem de cache YH]L üL VHFLXQHD D FDSLWROuOXL GH ID
  • 30. Un exemplu tipic de cerere-UVSXQV HVWH XUPWRUXO vQ FDUH FHUHUHD DUH forma:
  • 31. Tehnologii XML14 GET / HTTP/1.1 Host: www.infoiasi.ro User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 Accept: image/gif, image/jpeg, */* Accept-Language: en-us Accept-Encoding: gzip, deflate, compress, identity Connection: Keep-Alive Un pRVLELO UVSXQV DU SXWHD IL FHO GH PDL MRV HTTP/1.1 302 Found Date: Mon, 02 Jan 2006 13:42:40 GMT Server: Apache/2.0.40 (Red Hat Linux) Location: http://www.infoiasi.ro/fcs/index.html Content-Length: 295 Connection: close Content-Type: text/html; charset=iso-8859-1 !DOCTYPE HTML PUBLIC -//IETF//DTD HTML 2.0//EN html headtitle302 Found/title/head bodyh1Found/h1pThe document has moved a href=http://www.infoiasi.ro/fcs/index.html here/a./p hr /addressApache/2.0.40 Server at www.infoiasi.ro Port 80/address/body /html Vom descrie în continuare elementele importante ale protocolului. Adresarea resurselor Web Pentru transferul documentelor hipertext, acestea trebuie adresate într-un mod uniform, independent de sistemul de VWRFDUH üL GH FRQYHQLLOH UHHOHL 0RGDOLWDWHD GH DGUHVDUH IRORVLW SH :HE HVWH UHSUe]HQWDW GH identificatorii uniformi de resurse ± URI (Uniform Resurse Identifiers) (detalii în Berners-Lee, )LHOGLQJ üL 0DVLQWHU
  • 32. . Ceea ce este deseori denumit adres ::: LGHQWLILFDWRU XQLYHUVDO GH documente sau localizator uniform de resurse este unificat în terminologia Internet într-un singur concept: LGHQWLILFDWRU XQLIRUP GH UHVXUV üL UHSUH]HQWDW într-R IRUP XQLF üL FRQVLVWHQW 0XOLPHD 85, HVWH SDUWLLRQDW vQ GRX VXEPXOLPL LPSRUWDQWH URL (Uniform Resource Locator
  • 33. üL URN (Uniform Resource Name).
  • 34. Calea de acces la Web 15 URL-XO HVWH IRORVLW vQ ORFDOL]DUHD XQHL UHVXUVH vQ UHHD vQ VSHFLDO vQ Internet) prin protoculul HTTP. Sintaxa URL pentru Web este: http: // server [ : port ][ FDOHBDEVROXW [ ? interogare ]] 'DF QX HVWH VSHFLILFDW H[SOLFLW SRUWXO HVWH FRQVLGHUDW D IL SRUWXO (portul implicit standard pentru protocolul HTTP). Semantica unui URL HVWH XUPWRDUHD UHVXUVD VH DIO SH XQ VHUYHU LGHQWLILFDW SULQ server, care „asculWµ HYHQWXDOH FHUHUL GH FRQHFWDUH OD SRUWXO VSHFLILFDW VDX LPSOLFLW resursa esWH LGHQWLILFDW SULQ FDOHBDEVROXW ÍQ JHQHUDO WUHEXLH HYLWDW folosirea drept server a adresei IP (e.g., 193.231.30.225) în favoarea folosirii numelui simbolic asociat acesteia (i.e., www.infoiasi.ro). Parametrul FDOHBDEVROXW UHSUH]LQW XQ üLU GH QXPH GH GLUHFWRDUH GHOLPLWDWH GH FDUDFWHUXO ŵ HYHQWXDO WHUPLQDW FX QXPHOH ILüLHUXOXL FDUH VWRFKHD] UHVXUVD DGUHVDW SULQ LQWHUPHGLXO 85/-ului. Componenta interogare desHPQHD] XQ üLU VXSOLPHQWDU LQFOu]kQG LQIRUPDLL LQWHUSUHWDWH GH UHVXUV (de cele mai multe ori, de un script), caracterele „;”, „/”, „?”, „:”, „@”, „”, Å µ ŵ ŵ üL ŵ ILLQG UH]Hrvate. 7UHEXLH PHQLRQDW IDSWXO F DFHVWH FDUDFWHUH VSHFLDOH VXQW FRGLILcate conform unei metode denumite URL encoding, vQ FDUH FDUDFWHUXO vQ FDX] HVWH VXEVWLWXLW GH FRGXO VX QXPHULF vQ ED]D SUHIL[DW GH VHPQXO ŵ GH H[HPSOX Åaµ GHYLQH Å(µ
  • 35. 6SDLXO HVWH vQORFXLW FX ŵ Câteva exemple de URL-uri: • http://www.linux.org/ • http://students.infoiasi.ro/~lug/ • http://193.231.30.131/~busaco/ 3UHFL]P IDSWXO F XQ 85/ SRDWH DYHD GUHSW VXIL[ XQ LGHQWLILFDWRU GH IUDJPHQW SUHFHGDW GH FDUDFWHUXO ŵ FX VFRSXO GH D IDFH UHIHULUH GLUHFW OD R SDUWH FRQVWLWXHQW D UHVXUVHL DGUHVDWH de acel URL. Drept exemplificare, se poate da: http://www.sit.ro/buletin.html#a2005. Un URN GHVHPQHD] XQ VXEVHW DO 85, FDUH UPkQH SHUPDQHQW üL XQLF FKLDU GDF UHVXUVD D GLVSUXW RUL D GHYHQLW LQDFFHVLELO 851-ul se XWLOL]HD] PDL DOHV SHQWUX D GHVHPQD HQWLWL WLSXUL GH GDWH VSDLL GH QXPH HWF
  • 36. IRORVLWH GH DQXPLWH DSOLFDLL :HE D H[HPSOH GH 851-uri putem da: • urn:infoiasi.ro:BookInfo – HVWH VSHFLILFDW GH R DSOLFDLH :HE GHVHPQDW GH GRPHQLXO infoiasi.ro; • urn:mozilla:package:communicator – identific SDFKHWHOH VRIW- ware ale suitei Mozilla; • urn:schemas-microsoft-com:datatypes – GHVHPQHD] WLSXrile de date definite de Microsoft;
  • 37. Tehnologii XML16 • urn:ISBN:973-681-988-4 – VSHFLILF QXPUXO ,6%1 International Standard Book Number) asoFLDW XQHL FUL • urn:ietf:rfc:2401 – VH UHIHU OD LGHQWLILFDUHD XQXL SURWRFRO standardizat de IETF (în cazul acesta, IP Secure). Într-un context mai general, URI-XULOH SRW GHVHPQD UHVXUVH FDUH V SRDW IL DFFHVDWH SULQ LQWHUPHGLXO SURWRFRDOHORU 73,3 $VWIHO IRUPD JHQHULF D unui identifiFDWRU XQLIRUP GH UHVXUVH SUH]LQW XUPWRDUHOH FRPSRQHQWH principale: schema :// autoritate cale ? interogare Componenta schema LGHQWLILF PRGDOLWDWHD GH LGHQWLILFDUH D SURWRFROXOXL GH WUDQVIHU XWLOL]DW SHQWUX D DYHD DFFHV OD R DQXPLW UHVXUV HOHODOWe elemente sunt similare celor descrise mai sus. Schemele URI se înre- JLVWUHD] OD ,$1$ Internet Assigned Numbers Authority) – lista schemelor 85, DFWXDOH HVWH GLVSRQLELO OD DGUHVD http://www.iana.org/assignments/ uri-schemes. Ca exemple de scheme se pot enumera: • data:image/png;base64,R101...A7 – schema data SHUPLkQG LQFOXGHUHD vQ PDQLHU inline D XQRU LQIRUPDLL GH PLFL Gimensiuni; DFHDVW WHKQLF VH QXPHüWH üL DGUHVDUH LPHGLDW (Masinter, 1998); VLQWD[D JHQHUDO DUH IRUPD data: [ tip_MIME ][ ;base64 ] , FRQLQXW, în care tip_MIME UHSUH]LQW WLSXO 0,0( DO UHVXUVHL (vezi infra), iar FRQLQXW GHVHPQHD] FRQLQXWXO SURSULX-zis al UHVXUVHL FRGLILFDW EDVH vQ FD]XO vQ FDUH H VSHFLILFDW FODX]D base64) sau în maniera URL-urilor. Un alt exemplu este data:text/plain;charset=iso-8859-7,%be%fg%be; • file:///tmp/ – VFKHP file FH GHVHPQHD] UHVXUVH GH WLS ILüLHU GLQ cadrul sistemului de stocare de la nivelul clientului; • ftp://ftp.funet.fi/pub/README.txt – VFKHP ftp pentru serviciile protocolului de transfHU GH ILüLHUH )73
  • 38. • https://www.infoiasi.ro/~busaco/teach/ – VFKHP https pen- tru serviciile protocolului securizat HTTPS (vezi Rescorla, 2000); • mailto:busaco@infoiasi.ro – VFKHP mailto SHQWUX SRüWD HOHFWURQLF VH XWLOL]HD] GH RELFHL SURWRFROXO GH WUDQsfer SMTP); • news:comp.infosystems.www.servers.unix – VFKHP news SHQWUX JUXSXULOH GH üWLUL 86(1(7 1173 – Network News Transport Protocol); • tag:blogger.com,2006:blog-333 – VFKHP tag GHVWLQDW V identifice în mod unic – VSDLDO üL WHPSRUDO – R DQXPLW UHVXUV într-R PDQLHU FRQYHQDELO SHQWUX XWLOL]DWRU vQ DFHVW FD] HVWH YRUED
  • 39. Calea de acces la Web 17 de subiectele de interes ale unui blog
  • 40. DFHDVW VFKHP DUH VLQWD[D tag: autoritate , GDWDBFDOHQGDULVWLF : infor- PDLL [# fragm_URI], unde autoritate GHVHPQHD] XQ GRPHQLu '16 VDX R DGUHV GH e-mail, GDWDBFDOHQGDULVWLF VSHFLILF R GDW în forma AAAA-LL-ZZ (doar anul e obligatoriu), iar LQIRUPDLL sunt caractere codificate în stilul URL-XULORU IXQFLRQkQG VLPLODU componentei interogare SUH]HQWDW DQWHULRU GHWDOLL vQ .LQGEHUJ üL Hawke, 2005); • telnet://delta.ac.tuiasi.ro:7777 – VFKHP telnet pentru servicii interactive via protocolul TELNET. 5HODWLY UHFHQW DX IRVW LQVWLWXLL üL LGHQWLILFDWRULL LQWHUQDLRQDOL]DL GH UHVXUVH GHQXPLL ,5, ± Internationalized Resource Identifiers 'UVW üL 6XLJQDUG
  • 41. $FHüWLD VXQW FRPSOHPHQWDUL 85,-XULORU SHUPLkQG specificarea unor seturi de caractere mai largi decât ASCII (e.g., Unicode). De exemplu, http://color.org/ros#xE9 este identic cu URI-ul http://color.org/ros#233 (folosind eQWLWLOH-caracter permise de HTML/XML) sau http://color.org/ros#xE9 XWLOL]kQG HQWLWLOH-FDUDFWHU 8QLFRGH GLQ ;0/
  • 42. üL SRDWH IL UHSUH]HQWDW vizual prin http://color.org/rosé ÍQ DFHVW FRQWH[W WUHEXLH PHQLRQDW üL VSHFLILFDLD SULYLWRDUH OD QXPHOH GH GRPHQLL LQWHUQDLRQDOH – IDN (International Domain Names), extinzând sistemul numelor de domenii DNS (Domain Name System). RGLILFDUHDFRQLQXWXOXL 3HQWUX FD GDWHOH V ILH FRUHFW LQWHUSUHWDWH LQGLIHUHQW GH SODWIRUPD KDUGZDUH üL VRIWZDUH HOH WUHEXLH V UHVSHFWH DFHHDüL FRGLILFDUH SH :HE (VWH GHILQLW conceptul de set de caractere, pentru a putea interpreta corect datele VFKLPEDWH XWLOL]kQG SURWRFROXO +773 vQWUH GRX SODWIRUPH GLIHULWH FX UHSUH]HQWUL GLIHULWH DOH GDWHORU $VWIHO LQIRrPDLD HVWH WUDQVPLV în forma XQXL üLU GH FDUDFWHUH XUPkQG FD HQWLWaWHD GH OD FHOODOW FDSW IRORVLQG LQGLFDLLOH GHVSUH VHWXO GH FDUDFWHUH V UHDOL]H]H WUDQVIRUPDUHD GLQ üLU GH RFWHL vQ üLU GH FDUDFWHUH 6HWXO GH FDUDFWHUH LPSOLFLW HVWH ,62-8859-1, dar H[LVW R PXOWitudine de alte seturi (de exemplu, ISO-8859- GHQXPLW üL Latin- FDUH RIHU SULQWUH DOWHOH üL UHSUezentarea diacriticelor din limba URPkQ
  • 43. 3URWRFROXO +773 UHVSHFW VHWXULOH GH FDUDFWHUH GHILQLWH GH VSHFLILFDLLOH MIME (Multipurpose Internet Mail Extensions) descrise pe larg în GRFXPHQWHOH 5) üL YH]L )UHHG üL %RUHQVWHLQ D üL UHVSHFWLY )UHHG üL %RUHQVWHLQ E
  • 44. RQIRUP VWDQGDUGXOXL 0,0( SHQWUX ILHFDUH UHVXUV VH VSHFLILF WLSXO üL VXEWLSXO DFHVWHLD 'H H[HPSOX text/html pentru un document HTML, text/plain în cazul unui document text neformatat,
  • 45. Tehnologii XML18 image/jpeg pentru o imagine în format JPEG, video/mpeg în cazul unui film MPEG, model/vrml SHQWUX R OXPH YLUWXDO PRGHODW vQ 950/ HWF SHQWUX mai multe detalii, vezi Buraga, 2005). De asemenea, PHVDMHOH SRW IL FRGLILFDWH vQ YHGHUHD FRPSULPULL VDX DVL- guUULL LGHQWLWLL üLVDX LQWHJULWLL 'H H[HPSOX VXQW SHUPLVH FRGLILFULOH • gzip – UHSUH]LQW FRGLILFDUHD /HPSHO-=LY /=
  • 46. IRORVLW GH FWUH SURJUDPXO GH DUKLYDUH FX DFHODüL QXPH GLVSRQLELO în mediile UNIX/Linux; • compress – UHSUH]LQW R FRGLILFDUH /HPSHO-Ziv-Welch (LZW) utili- ]DW GH FWUH XWLOLWDUXO GH DUKLYDUH FX DFHODüL QXPH vQWkOQLW SH platformele UNIX. 2.3. Mesajele HTTP HUHULOH üL UVSXQVXULOH +773 VXQW YHKLFXODWH SULQ LQWHUPHGLXO PHVDjelor. $VWIHO PHVDMHOH +773 VXQW FRQVLGHUDWH GH GRX WLSXUL cerere de la client FWUH VHUYHU üL UVSXQV DO VHUYHUXOXL FWUH FOLHQW (OH UHSUH]LnW HQWLWLOH JHQHULFH GLQ FRPXQLFDUHD +773 XQ PHVDM DYkQG OD SULPD YHGHUH XUP- WRDUHD IRUP Mesaj HTTP = linie_de_start (atribut_de_antet)* CRLF [ FRQinut_mesaj ] Componenta linie_de_start HVWH QXPLW linie de cerere sau linie de stare în FD]XO FHUHULL UHVSHFWLY UVSXQVXOXL 0HWD-caracterul „*” desemQHD] IDSWXO F QXPUXO GH DSDULLL SRDWH IL QXO XQX VDX RULFDUH LDU 5/) UHSUH]LQW VHFYHQD GH FDUDFWHUH Carriage Return FRGXO
  • 47. üL Line Feed (codul 10). RQVWUXFLD Å[...]µ LQGLF R DSDULLH RSLRQDO D H[SUHVLHL GLQWUH SDUDQ- tezele drepte. În descrierea de mai sus, atribut_de_antet IRUPHD] SDUWHD GH VWart a PHVDMXOXL DGLF antetul (header
  • 48. 8Q DQWHW FRQLQH PDL PXOWH DWULEXWH FDUH VXQW IRORVLWH OD FRPSOHWDUHD XQHL FHUHUL VDX D XQXL UVSXQV FX PHWD-infor- PDLD QHFHVDU LQWHUSUHWULL FRUHFWH D PHVDMXOXL SULQ VWDEilirea unor valori VSHFLILFDWH GH FWUH SUotocolul HTTP sau a unor protocoale definite de utilizator (de exemplu, SOAP – Simple Object Access Protocol). Fiecare atribut FRQLQXW vQ DQWHW HVWH GH IRUPD Atribut de antet = nume_atribut : [ valoare_atribut ] 2UGLQHD DFHVWRUD QX HVWH VHPQLILFDWLY GDU HVWH LQGLFDW V VH WULPLW PDL vQWkL DWULEXWHOH JHQHUDOH IRORVLWH GH RELFHL DWkW SHQWUX FHUHUH FkW üL SHQWUX UVSXQV
  • 49. DSRL DWULEXWHOH VSHFLILFH WLSXOXL UHVSHFWLY GH PHVDM LDU OD VIkUüLW FHOH VSHFLILFH HQWLWLL FXSULQVH vQ FRQLQXWXO Pesajului.
  • 50. Calea de acces la Web 19 CRUSXO PHVDMXOXL +773 FRQLQH HQWLWDWHD DVRFLDW FHUHULL VDX UVSXQ- sului, de multe ori reprezentând chiar resursa din linia de antet a cererii. RUSXO XQXL PHVDM SRDWH OLSVL GDF PHWRGD GLQ FHUHUH R Lmpune, el chiar WUHEXLH V OLSVHDVF
  • 51. 3UH]HQD FRUSXOXi mesajului este, de obicei, VHPQDOL]DW SULQ SUH]HnD vQ DQWHWXO +773 D XQRU DWULEXWH UHIHULWRDUH OD acesta: Content-Length sau Transfer-Coding. Lungimea unui mesaj este consi- GHUDW OXQJLPHD vQWUHJXOXL FRUS GXS DSOLFDUHD OD FRQLQXWXO LQLLDO D XQRU eventuale codifiFUL Mesajul de tip cerere (Request) )RUPD JHQHUDO D XQXL PHVDM GH WLS FHUHUH HVWH Cerere HTTP = linie-de-cerere (antet-general | antet-cerere | antet-entitate)* CRLF [ corpul-mesajului ] /LQLD GH FHUHUH GHEXWHD] FX QXPHOH PHWRGHL Iolosite, urmat de LGHQWLILFDWRUXO UHVXUVHL FUHLD L VH DGUHVHD] FHUHUHD 85,
  • 52. üL GH YHUVLXQHD protocolului (e.g., HTTP/1.1). Linie de cerere = PHWRG SP identificator-UHVXUV SP versiune-HTTP CRLF 7UHEXLH SUHFL]DW üL IDSWXO F VHFYHQD 5/) WUHEXLH V DSDU vQ vQWUHJLPH LDU SUH]HQD VHSDUDW D XQXLD GLQWUH RFWHLL UHSUH]HQWkQG 5 VDX LF este inWHU]LV SH SDUFXUVXO OLQLHL GH FHUHUH 63 GHVHPQHD] XQ VSDLX DOE (blank). 0HWRGD FHUHULL HVWH LQGLFDW OD vQFHSXWXO OLQLHL GH FHUHUH üL UHSUH]LQW DFLXQHD FDUH YD IL vQWUHSULQV vQ UDSRUW FX UHVXUVD VSHFLILFDW GH FWUH 85, În general, metoda este case-sensitive GH RELFHL SUHFL]DW FX PDMXVFXOH
  • 53. SULQWUH FHOH PDL X]XDOH PHWRGH SHUPLVH GH VSHFLILFDLD +773 HQXme- rându-VH *(7 +($' 3267 üL 237,216 *HWWs et al.
  • 54. ([LVW GH asemenea, posibilitatea folosirii altor metode, nestandardizate, atât timp cât HOH SRW IL LGHQWLILFDWH GH FWUH WRDWH SULOH FRPXQiFULL HOH PDL XWLOL]DWH PHWRGH +773 VH EXFXU GH XUPWRDUHOH FDUDFWHULVWLFL • GET – UHSUH]LQW R FHUHUH GH DFFHVDUH D XQRU LQIRUPDLL HQWLWL
  • 55. 8Q FOLHQW +773 QDYLJDWRU URERW SURJUDP GH GHVFUFare, agregator de üWLUL HWF
  • 56. IRORVHüWH PHWRGD *(7 SHQWUX D RELQH R DQXPLW UHVXUV ILH F HD UHSUH]LQW XQ ILüLHU GRFument text, HTML, imagine PNG saX -3(* DSOLFDLH DUKLY GRFXPHQW ;0/ HWF
  • 58. Tehnologii XML20 H[HFXLD SH VHUYHUXO :HE D XQXL SURFHV FDUH YD SURGXFH GDWHOH dorite (e.g., invocarea unui script CGI); • HEAD – HVWH VLPLODU FX PHWRGD *(7 GDU VHUYHUXO YD UHWXUQD XQ PHVDM DYkQG LQIRUPDLL GRDU în antet. Meta-datele din anteturile +773 GLQ Uspunsul la o cerere HEAD vor fi identice cu cele din UVSXQVXO OD R FHUHUH *(7 8WLOLWDWHD DFHVWHL PHWRGH FRQVW vQ REL- nerea meta-datelor asociate unei resurse Web fU D WUDQVIHUD HIHFWLY întreaga entitate, în vederea – de exemplu – D WHVWULL H[LVWHQHL UHVXUVHL D RELQHULL GDWHL XOWLPHL PRGLILFUL VDX D IXUQL]ULL GUHSWX- rilor de acces; • POST – PHWRGD HVWH XWLOL]DW SHQWUX D LGHQWLILFD GDF VHUYHUXO DFFHSW R HQWLWDWH vQJOREDW vQ FDGUXO FHUHULL 3267 HVWH SURLHFWDW V LPSOHPHQWH]H R PHWRG XQLIRUP SHQWUX IXQFLL SUecum adnotarea UHVXUVHORU WULPLWHUHD GDWHORU XQXL IRUPXODU :HE FWUH VHUYHU extinderea unei baze de date printr-R RSHUDLXQH GH LQVHUDUH HWF • OPTIONS – UHSUH]LQW R FHUHUH GH LQIRUPDLL GHVSUH RSLXQLOH GH FR- municare disponibile într-XQ GLDORJ +773 FHUHUHUVSXQV $FHDVW PHWRG DUH UROXO GH D RIHUL XQXL FOLHQW SRVLELOLWDWHD GH D DFKL]LLona LQIRUPDLL GHVSUH R UHVXUV GH SH XQ VHUYHU VDX FKLDU GHVSUH XQ VHU- ver Web sau server proxy, fU D LPSOLFD R DFLXQH GLUHFW DVXSUD unei resurse (de exemplu, în vederea negocierii transmiterii de date). 8Q H[HPSOX GH OLQLH GH FHUHUH FDUH VH DGUHVHD] XQXL proxy (folosind un 85, GDW vQ IRUPD DEVROXW
  • 59. HVWH XUPWRUXO GET http://students.infoiasi.ro/~revista HTTP/1.1 HO PDL IUHFYHQW PRG GH D VSHFLILFD R UHVXUV HVWH SULQ FDOHD DEVROXW SkQ OD DFHDVWD DYkQG 85,-ul specificat ca valoare a atributului Host. Un H[HPSOX GH FHUHUH vQ YHGHUHD RELQHUHD UHVXUVHL /pub/index.html de pe VHUYHUXO VWXGHQLORU GH OD )DFXOWDWHD GH ,QIRUPDWLF GLQ ,DüL VH YD IRUPXOD GXS VWDELOLUHD FRQH[LXQLL 73 SH SRUWXO DO PDüLQLL students.infoiasi.ro astfel: GET /pub/index.html HTTP/1.1 Host: students.infoiasi.ro DOHD DEVROXW QX SRDWH IL YLG HD WUHEXLH V FRQLQ FHO SXLQ Faracterul ŵ FDUH UHSUH]LQW GRFXPHQWXO UGFLQ RULFH GHVFULHUH LQYDOLG D UHVXUVHL ILLQG VHPQDODW SULQWU-XQ FRG GH VWDUH FRUHVSXQ]WRU Pot fi specificate atribute de cerere care sunt folosite pentru a transmite LQIRUPDLL VXSOLPHQWDUH GHVSUH DFHD FHUHUH üL GHVSUH FOLHQW 6H SRDWH IDFH R DQDORJLH vQWUH WULPLWHUHD XQHL PHWRGH +773 FX DSHOXO XQHL IXQFLL GLQWU-un
  • 60. Calea de acces la Web 21 OLPEDM GH SURJUDPDUH XQGH DWULEXWHOH UHSUH]LQW SDUDPHWULL GH LQWUDUH Câteva dintre aceste atribute specifice cererii sunt: Accept, Accept-Encoding, Authorization, From, Host, Proxy-Authorization, Referer sau User-Agent (a se FRQVXOWD üL VHFLXQHD D FDSLWROXOXL GH ID
  • 61. 0HVDMXOGHWLSUVSXQVResponse) 'XS SULPLUHD üL LQWHUSUHWDUHD XQXL PHVDM GH WLS FHUHUH üL LQWHUSUHWDUHD OXL un servHU +773 UVSXQGH FX XQ PHVDM GHQXPLW UVSXQV )RUPD JHQHUDO D acestuia este: 5VSXQV +773 linie-de-stare (antet-general | antet-cerere | antet-entitate)* CRLF [ corpul-mesajului ] Linia de stare începe cu versiunea protocolului HTTP implementat de FWUH VHUYHU üL FRQWLQX FX XQ FRG GH VWDUH UHSUH]HQWkQG QXPUXO DVRFLDW GH FWUH VSHFLILFDLD +773 XQHL DQXPLWH VLWXDLL D VHUYHUuOXL vQ XUPD WUDWULL XQHL FHUHUL 8UPHD] XQ WH[W H[SOLFDWLY SHQWUX FRGXO GH VWDUH FDUH QX WUHEXLH V ILH VWULFW HO SXWkQG IL GHFLV RGDW FX LPSOHPHQWDUHD SURpriu-]LV GDU HVWH LQGLFDW V FODULILFH VLWXDLD HxSULPDW GH FRGXO GH VWDUH Linie-de-stare = versiune-HTTP SP cod-de-stare SP text-explicativ CRLF Cod-de-stare este format din trei cifre organizate în categorii de VWUL DVWIHO vQFkW FRGXULOH GLQ DFHHDüL FDWHJRULH VH UHIHU OD VWUL VLPLODUH HOH VXQW GLVWLQVH GXS SULPD FLIU vQ PRGXO XUPWRU • 1xx: Informativ – FHUHUHD D IRVW SULPLW FRPXQLFDLD FRQWLQX • 2xx: Succes – FHUHUHD D IRVW SULPLW LQWHUSUHWDW üL DFFHSWDW GH FWUH server; • [[ 5HGLUHFLRQDUH – pentru a atinge scopul cererii este nevoie de o inteURJDUH XOWHULRDU HYHQWXDO FWUH XQ DOW VHUYHU • [[ (URDUH SURYRFDW GH FWUH FOLHQW – ILH FHUHUHD HVWH LQFRUHFW GLQ punct de vedere sintactic, fie nu poate IL VDWLVIFXW • [[ (URDUH SURYRFDW GH FWUH VHUYHU – FHUHUHD HVWH DSDUHQW FRUHFW GDU serverul nu o poate îndeplini din diferite motive. 7H[WXO H[SOLFDWLY HVWH LQWURGXV SHQWUX D RIHUL R LQIRUPDLH VXSOLPHQWDU putând fi de folos dezvoltatorilor de apOLFDLL :HE FXP DU IL SURJUDPDUHD OD nivelul serverului HTTP prin diferite tehnologii, precum CGI, PHP sau JSP GHWDOLL vQ *HWWV üL %XUDJD
  • 62. Tehnologii XML22 'H DVHPHQHD SULQ LQWHUPHGLXO DWULEXWHORU VSHFLILFH UVSXQVXULORU +773 VH SRW WUDQVPLWH LQIRUPDLL DGLLRQDOH kWHYD GLQWUH DWULEXWHOH VSHFLILFH UVSXQVXULORU VXQW XUPWRDUHOH Location, Server sau WWW-Authenticate YH]L VHFLXQHD XUPWRDUH
  • 63. Jurnalizarea cererilor 8Q H[HPSOX GH ILüLHU GH MXUQDOL]DUH D FHUHULORU +773 HVWH XUPWRUXO vQ acest caz, este voUED GH ILüLHUXO JHQHUDW GH VHUYHUXO $SDFKH
  • 64. YH]L üL %XUDJD üL $FRVWFKLRDLH
  • 65. dyn419.win.tue.nl – licenta [29/Sep/2005:11:08:04 +0300] GET /~busaco/teach/bsc2006/ HTTP/1.1 200 24757 dyn419.win.tue.nl – – [29/Sep/2005:11:07:54 +0300] GET /~busaco/teach/bsc2006 HTTP/1.1 401 1283 193.226.24.219 – – [29/Sep/2005:11:06:17 +0300] GET / HTTP/1.1 403 1039 83.115.156.9 – – [29/Sep/2005:11:05:59 +0300] GET /~busaco/paint/days/trio.jpg HTTP/1.1 304 – proxy.info.uaic.ro – – [29/Sep/2005:11:05:38 +0300] GET /favicon.ico HTTP/1.1 404 1035 rat.cluj.astral.ro – – [29/Sep/2005:11:04:27 +0300] GET /~linux/ HTTP/1.0 200 4974 triton.france3.fr – – [29/Sep/2005:11:04:27 +0300] GET /~acf/ HTTP/1.1 200 446 triton.france3.fr – – [29/Sep/2005:11:04:27 +0300] GET /~acf HTTP/1.1 301 327 crawl.googlebot.com – – [29/Sep/2005:11:03:11 +0300] GET /~busaco/paint/works/Forms.jpg HTTP/1.1 304 – 2.4. Atributele HTTP Vom descrie în continuare o serie dintre atributele vehiculate în cadrul cereULORU VDX UVSXQVXULORU +773 Accept (VWH XQ DWULEXW VSHFLILF XQHL FHUHUL +773 üL DUH XQ URO LPSRUWDQW vQ VWDELOLUHD WLSXOXL FRQLQXWXOXL SULQ LQWHUPHGLXO XQHL QHJRFLHUL FRQGXVH GH server. Prin intermediul acestui atribut, clientul are posibilitatea de a sSHFLILFD WLSXULOH PHGLD SH FDUH DFHVWD OH UHFXQRDüWH üL OH SRDWH LQWHUSUHWD VDX SRDWH LQGLFD QXPDL WLSXO GH UVSXQVXUL SUHIHUate. 6LQWD[D HVWH GDW PDL MRV
  • 66. Calea de acces la Web 23 Accept = Accept : ( tip_media [ parametri ] )* Parametrul tip_media VH UHIHU OD WLSXULOH GH GDWH YHKLFXODWH üL DUH IRUPD tip_media = (*/*) | (tip / *) | (tip / subtip) Componenta parametri are sintaxa: parametri = ; q = valoare_calitate (extensie)* Caracterul asterisc „*” este folosit pentru a specifica un grup de tipuri folosind conYHQLLOH 0,0( SUH]HQWDWH PDL VXV Å*/*µ UHSUH]LQW WRDWH tipurile media, iar „tip/*µ GHVHPQHD] WRDWH VXEWLSXULOH 0,0( DOH WLSXOXL VSHFLILFDW GH FRQVWUXFLD tip. Fiecare tip_media poate fi urmat de unul sau PDL PXOL SDUDPHWUL vQFHSkQG FX SDUDPHWUXO Åq” denumit FDOLWDWH UHODWLY (relative quality
  • 67. FDUH SHUPLWH DVRFLHUHD XQHL FDOLWL UHODWLYH SH R VFDO GH OD 0 la 1 a acestuia. Un exemplu: Accept: image/*; q=0.2, image/jpeg $FHDVW FRQVWUXFLH VSHFLILF SUHIHULQD SHQWUX WLSXO 0,0( image/jpeg, LDU GDF Dcest tip nu este disponibil, atunci se poate returna orice tip de imagine. Allow 6SHFLILF PHWRGHOH +773 SHUPLVH D IL IRORVLWH 'H FHOH PDL PXOWH RUL DSDUH într-XQ UVSXQV FX FRGXO GH VWDUH Method Not Allowed), indicând FOLHQWXOXL FH PHWRG SRDWH IL XWLOL]DW Authorization 8Q FOLHQW FDUH GRUHüWH V VH DXWHQWLILFH vQ JHQHUDO GXS SULPLUHD XQXL UVSXQV GH WLS Unauthorized
  • 68. WUHEXLH V LQFOXG vQ FHUHUH DWULEXWXO Authorization, DYkQG FD YDORDUH LQIRUPDLD QHFHVDU DXWHQWLILFULL ÍQ JHQHUDO GXS FH XQ FOLHQW VH DXWHQWLILF OD XQ VHUYHU üL RELQH DXWRUL]DLLOH QHFHVDUH DFHVWHD DU WUHEXL V ILH YDODELOH üL SHQWUX XUPWRDUHOH FHUHUL QHFHVDUH SDUFXUJHULL XQHL SUH]HQWUL SHQWUX R SHULRDG GH WLPS determinaW Un exemplu efectiv de folosire a metodei de autorizare în cazul VHUYHUXOXL $SDFKH HVWH GLVSRQLELO vQ OXFUULOH %XUDJD üL %XUDJD üL $FRVWFKLRDLH
  • 69. Tehnologii XML24 Cache-Control Permite controlul cache-ului, de cele mai multe ori la nivelul proxy-ului GLQWUH FOLHQW üL VHUYHU Sintaxa acestui atribut HVWH XUPWRDUHD Cache-Control = Cache-Control : (directiva = valoare)* Directivele cele mai folosite sunt: • max-age GHVHPQHD] WLPSXO PVXUDW vQ VHFXQGH
  • 70. vQ FDUH VLVWHPXO de cache YD SVWUD R FRSLH D UHVXUVHL :HE • public VSHFLILF IDSWXO F GDWHOH SRW IL VWRFDWH GH FWUH RULFH VLVWHP de cache üL DFFHVDWH IU UHVWULFLL • private VHPQLILF IDSWXO F GDWHOH SRW IL PHPRUDWH GH VLVWHPXO GH FDFKH vQV QX YRU IL SDUWDMDWH DOWRU DSOLFDLL • no-cache VSHFLILF VLVWHPXOXL GH cache V UHvPSURVSWH]H GH ILHFDUH GDW Uesursele solicitate de un client; • no-store LQKLE VWRFDUHD GDWHORU OD QLYHOXO VLVWHPXOXL GH cache RSLXQH IRORVLWRDUH vQ FD]XO WUDQVIHUXOXL GH LQIRUPDLL VHQVLELOH
  • 71. DFHDVW GLUHFWLY HVWH LJQRUDW GH ,QWHUQHW ([SORUHU GHFL QX SRDWH IL IRORVLW vQ SUDFWLF • must-revalidate VHPQLILF IDSWXO F VLVWHPXO GH cache WUHEXLH V verifice exSLUDUHD GDWHORU GHLQXWH OD ILHFDUH FHUHUH Un exemplu ar putea fi cel de mai jos: Cache-Control: max-age=600, no-cache=Set-Cookie Connection Este un atribut general fRORVLW SHQWUX D VSHFLILFD DQXPLWH SURSULHWL OHJDWH GH FRQH[LXQH vQ JHQHUDO 73,3
  • 72. üL VH DSOLF GRDU FRPuQLFDLHL vQWUH GRX DSOLFDLL +773 GLQ ODQXO XQRU FHUHUL VDX UVSXQVXUL 2 YDORDUH VSHFLILF DFHVWXL DWULEXW HVWH Åcloseµ üL VHPQDOHD] vQFKLGHUHD FRQH[LXQLL GXS WULPLWHUHD PHVDMXOXL $FHVW DWULEXW HVWH XWLO vQ LPSOHPHQ- WDUHD FRQH[LXQLORU SHUVLVWHQWH üL LQGLF ILH F HVWH FXSULQV vQ FHUHUH VDX UVSXQV
  • 73. vQWUHUXSHUHD FRQH[LXQLL GXS vQFKHLHUHD FLFOului cerere-UVSXQV actual. Content-Disposition PerPLWH R DQXPLW IOH[LELOLWDWH vQ WUDQVPLWHUHD XQRU WLSXUL SDUWLFXODUH GH UHSUH]HQWUL GH UHVXUVH HD PDL XWLOL]DW YDULDQW HVWH FHD vQ FDUH VH VSHFLILF SURJUDPXOXL GH QDYLJDUH V VDOYH]H FD ILüLHU GDWHOH UHFHSLRQDWH în loFXO UHGULL RELüQXLWH FD vQ H[HPSOXO XUPWRU
  • 74. Calea de acces la Web 25 Content-Disposition: attachment; filename=articol.pdf Content-Type 'HVHPQHD] WLSXO 0,0( DO UHSUH]HQWULL UHVXUVHL VROLFLWDWH GH XQ FOLHQW RUL transmise de server. Acest atribut trebuie specificat obligatoriu în cadrul unui script CGI (Buraga et al., 2002). From RQLQH R DGUHV GH e-mail vQ JHQHUDO FHD D XWLOL]DWRUXOXL DSOLFDLHL +773 FOLHQW 9DORDUHD DFHVWXL DWULEXW SRDWH IL IRORVLW SHQWUX vQUHJLVWUDUHD DFFHVXOXL vQ ILüLHUHOH-jurnal (log-urile) ale serverului HTTP, în scopul identificULL FHUHULORU LQYDOLGH VDX UHVSLQVH 7ULPLWHUHD DFHVWHL LQIRUPDLL QX HVWH FRQVLGHUDW R SUREOHP GH VHFXULWDWH FL PDL GeJUDE XWLO SHQWUX GH- tecWDUHD FHUHULORU HIHFWXDWH VXE DOW QXPH VDX vQ FD]XO URERLORU :HE SHQWUX SRVLELOLWDWHD FRQWDFWULL SHUVRDQelor resSRQVDELOH OD DSDULLD XQRU DQRPDOLL GH IXQFLRQDUH DOH URERLORU UHspectivi. Host 5HSUH]LQW XQ DWULEXW IRORVLW SHQWUX VSHFLILFDUHD DGUHVHL ,QWHUQHW üL D SRUWXOXL vQ YHGHUHD VWDELOLULL H[DFWH D ORFDLHL XQGH VH DIO UHVXUVD FUHLD L VH DGUHVHD] FHrerea. Acest atribut trebuie inclus în orice cerere HTTP/1.1, WUHEXLH V UHIOHFWH vQWRFPDL LGHQWLWDWHD VHUYHUXOXL-RULJLQH VDX D SRULL indicate în URI-XO RULJLQDO üL DUH UROXO vQGHSUWULL SoVLELOHORU DPELJXLWL Sintaxa acestui atribut este: Host = Host : URI [ : port ] Pentru un URI de genul http://www.infoiasi.ro/fcs.css FHUHUHD WUHEXLH V FRQLQ GET /fcs.css HTTP/1.1 Host: www.infoiasi.ro ÍQ +773 SUH]HQD DWULEXWXOXL Host HVWH REOLJDWRULH FKLDU üL FX R YDORDUH YLG XQ proxy HTTP/1.1 trebuLH V YHULILFH F ILHFDUH FHUHUH LQFOXGH DFHVW DWULEXW 6HUYHUHOH +773 WUHEXLH V UVSXQG GH ILHFDUH GDW FX codul de stare 400 (Bad Request) la cererile HTTP/1.1 care nu includ atributul Host. Location $FHVW DWULEXW VSHFLILF UVSXQVXULORU +773 HVWH XWLOL]DW vQ FRQMXQFLH FX coduri de stare de tip 3xx SULQ FDUH VH LQGLF SURSULHWL DOH OoFDLHL FXUHQWH
  • 75. Tehnologii XML26 a resursei) sau 201 (Created
  • 76. ÍQ DPEHOH VLWXDLL VH SRDWH VWDELOL ORFDLD FXUHQW VDX SUHIHUDW D UHVXUVHL VXE IRUPD XQXL 85, DEVROXW Sintaxa acestXL DWULEXW HVWH XUPWRDUHD Location = Location : URI_absolut 8Q H[HPSOX GH UHGLUHFLRQDUH D FOLHQWXOXL browser-ului) Web este: Location: http://www.infoiasi.ro/~busaco/cv.html Referer Prin intermediul acestui atribut, clientul poate specifica, în interesul serverului, URI-XO GH OD FDUH UHVXUVD D IRVW RELQXW 6SUH H[HmSOX GDF într-XQ GRFXPHQW ;+70/ H[LVW R OHJWXU VSUH DOW GRFXPHQW FOLHQWXO poate include în cererea pentru al doilea document, ca Referer, URI-ul prin FDUH D IRVW RELQXW GRFXPHQWXO LQLLDO YH]L üL FHOH GLVFXWDWH vQ FDGUXO VHFLXQLL D Fapitolului 2). Server RQLQH LQIRUPDLL GHVSUH DSOLFDLD VHUYHU FXP DU IL QXPHOH YHUVLXQHD SURGXFWRUXO DSOLFDLLOH FRPSDWLELOH (VWH SRVLELO üL DWDüDUHD XQRU LQIRUPDLL üL FRPHQWDULL VSHFLILFH PDL PXOWRU DSOLFDLL FDUH Geservesc cererile la nivelul serverului HTTP (e.g., modulele Apache instalate, VHUYHUHOH GH DSOLFDLL :HE HWF
  • 77. Un exemplu ar putea fi: Apache/2.0.48 (Win32) mod_perl/1.99_10-dev Perl/v5.8.0 PHP/4.3.4 mod_python/3.0.3 Python/2.2.2 WWW-Authenticate Atributul WWW-Authenticate trebuie inclus în orice cerere 401 (Unautho- rized
  • 78. SHQWUX D RIHUL DSOLFDLHL-XWLOL]DWRU LQIRUPDLL QHFHVDUH DXWHQWLILFrii în UDSRUW FX UHVXUVD FHUXW $WULEXWXO FRPSOHPHQWDU DFHVWXLD SHQWUX FHUHUH este Authorization. O serie de alte atribute sunt descrise în lucrarea Shiflett, 2003. /RFXO+773vQDUKLWHFWXUDVSDLXOXL::: 'XS FXP DP Y]XW OD vQFHSXWXO FDSLWROXOXL :HE-ul este compus din UHVXUVH GLVWULEXLWH SULQFLSDOHOH DVSHFWH FDUH WUHEXLH V ILH DYXWe în vedere fiind identificarea, LQWHUDFLXQHD üL reprezentarea prin diverse formate de date a DFHVWRU UHVXUVH FRQIRUP -DFREV üL :DOVK
  • 79. Calea de acces la Web 27 ÍQ FHHD FH SULYHüWH LGHQWLILFDUHD UHVXUVHORU ILHFDUH UHVXUV WUHEXLH V ILH DGUHVDELO )LHFUHL UHVXUVH WUHEXLH V L VH DVRFLH]H XQ 85, GLstinct, evitându-VH DVWIHO DPELJXLWLOH 'HVLJXU ILHFDUH 85, YD DYHD YD IL VWDELOLW de) un proprietar – SHUVRDQ RUJDQL]DLH VSHFLILFDLH WHKQLF HWF RQVRULXO :HE vQFXUDMHD] IRORVLUHD vQ PDQLHU FRQVLVWHQW D 85,-urilor, pe baza schemelor existente, înregistrate la IANA. De asemenea, trebuie LQXW FRQW GH IDpWXO F QDWXUD XQHL UHVXUVH QX HVWH GDW GH DGUHVD HL FL GH reprezentare – GLQ DFHVW SXQFW GH YHGHUH XQ 85, WUHEXLH V ILH opac. Pentru a identifica în mod indirect o resurV VHFXQGDU ÅOHJDWµ RUL ÅVFXIXQGDWµ
  • 80. vQ UHVXUVD LQLLDO VH SRW XWLOL]D LGHQWLILFatorii de fragment (detalii în Buraga, 2005). $VLJXUDUHD LQWHUDFLXQLL VH UHDOL]HD] SULQ LQWHUPHGLXO XQXL agent Web, FDUH SRDWH IL R SHUVRDQ VDX R DSOLFDLH Voftware ce are acces la Web. 3URJUDPXO DFLRQkQG vQ QXPHOH XQXL XWLOL]DWRU XPDQ SRDUW QXPHOH GH agent-utilizator. Componentele precum serverele, proxy-XULOH URERLL QDYL- gatoarele, player-ele multimedia, programele de oglindire, agregatoarele de üWLUL etc. se numesc DJHQL VRIWZDUH. RPXQLFDUHD vQWUH DFHüWL DJHQL LPSOLF 85,-uri (pentru adresare), PHVDMH üL D GDWH GLDORJXO GHFXUJkQG FRQIRUP XQRU SURWRFRDOH ,QWHrnet precum HTTP, descris în subcapitolul 2. Structura mesajelor interschimbate depinde de protocol, dar din punct de vedere conceptual putem considera F WRate mesajele sunt compuse din date LQIRUPDLLOH SURSULX-]LVH
  • 81. üL meta-date (date descriind datele vehicuODWH
  • 82. DFHVWHD GLQ XUP SRW IL specificate de atributele din cadrul anteturilor HTTP. $FFHVXO OD R UHVXUV :HE VH YD UHDOL]D YLD 85, – DFLXQH QXPLW üL GHUHIHUHQLHUH – HYHQWXDO LPSOLFkQG PDL PXOL SDüL GH H[HPSOX vQ VLWXDLD QHJRFLHULL FRQLQXWXOXL
  • 83. UH]XOWkQG R UHSUH]HQWDUH D UHVXUVHL VROLFLWDWH 2 reprezentare GHQRW GDWHOH FDUH FRGLILF LQIRUPDLD GHVSUH VWDUHD DFWXDO
  • 84. D XQHL UHVXUVH RQVRULXO :HE UHFRPDQG HYLWDUHD LQFRQVLVWHQHORU GLQWUH GDWHOH UHSUH]HQWULL üL PHWD-date (de exemplu, meta-GDWHOH SRW GHVFULH F UHSUH]HQWDUHD YD IL GLVSRQLELO vQ IRUPDW WH[WXDO GDU vQ UHDOLWDWe clientul UHFHSLRQHD] UHVXUVD UHSUH]HQWDW vQWU-un format binar). Un alt aspect important este cel de asigurare a VLJXUDQHL LQWHUDFLXQLL $VWIHO DJHQWXO FDUH DFFHVHD] R UHVXUV QX WUHEXLH V UHDOL]H]H QLFL R DFLXQH FRODWHUDO side effect) în cadrXO LQWHUDFLXQLL 'H H[Hmplu, la VROLFLWDUHD XQHL UHSUH]HQWUL D UHVXUVHL YLD PHWRGD *(7 D SUotocolului +773 QX WUHEXLH DOWHUDW VWDUHD UHVXUVHL GRULWH i.e., incrementarea unui FRQWRU DO QXPUXOXL GH DFFHVUL DOH XQXL GRFXPHQW
  • 85. 'H DVHPHQHD proprietarul XQXL 85, DU WUHEXL V RIHUH UHSUe]HQWUL DOH UHVXUVHL UHVSHFWLYH într-R PDQLHU FRQVLVWHQW üL SUHGLFWLELO
  • 86. Tehnologii XML28 /D ILQDOXO DFHVWXL FDSLWRO WUHEXLH V SUHFL]P üL F SURWRFROXO +773 MRDF XQ URO LPSRUWDQW vQ FDGUXO DUKLWHFWXULL RULHQWDWH VSUH VHUYLFLL vQ JHne- UDO üL VSUH VHUYLFLLOH :HE vQ VSHFLDO – GHWDOLL vQ FDSLWROXO DO FULL GH ID 5HIHULQH Berners-Lee, T.; Fielding, R.; Masinter, L., Uniform Resource Identifiers (URI): Generic Syntax, RFC 2396, Internet Engineering Task Force (IETF), 2004: http://www.ietf.org/rfc/rfc2396.txt Bray, T. et al. (eds.), Extensible Markup Language 1.0 (Third Edition), W3C Recommendation, Boston, 2004: http://www.w3.org/TR/REC-xml Buraga, S., Tehnologii Web 0DWUL[ 5RP %XFXUHüWL http://www.infoiasi.ro/~busaco/ books/web.html Buraga, S. et al., 3URJUDPDUH :HE vQ EDVK üL 3HUO 3ROLURP ,DüL http://www.infoiasi.ro/ ~cgi/ Buraga, S., Proiectarea siturilor Web HGLLD D GRXD
  • 87. 3ROLURP ,DüL http:// www.infoiasi.ro/~design/ %XUDJD 6 $FRVWFKLRDLH ' „Administrarea serverelor Web”, NET Report, iulie 2002: http://www.infoiasi.ro/~busaco/publications/articles/admin-web.pdf Dürst, M.; Suignard, M. (eds.), Internationalized Resource Identifiers, RFC 3987, Internet Engineering Task Force (IETF), 2005: http://www.ietf.org/rfc/ rfc2987.txt Freed, N.; Borenstein, N., Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, RFC 2045, Internet Engineering Task Force (IETF), 1996: http://www.ietf.org/rfc/rfc2045.txt Freed, N.; Borenstein, N., Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, RFC 2046, Internet Engineering Task Force (IETF), 1996: http://www.ietf.org/rfc/rfc2046.txt Gettys, J. et al., Hypertext Transfer Protocol ± HTTP/1.1, RFC 2616, Internet Engineering Task Force (IETF), 1999: http://www.ietf.org/rfc/rfc2616.txt Jacobs, I.; Walsh, N., Architecture of the World Wide Web, Volume One, W3C Recommendation, Boston, 2004: http://www.w3.org/TR/webarch/ Kindberg, T.; Hawke, S., The ’tag’ URI Scheme, RFC 4151, Internet Engineering Task Force (IETF), 2005: http://rfc4151.x42.com/ Masinter, L., The ’data’ URL scheme, RFC 2397, Internet Engineering Task Force (IETF), 1998: http://www.faqs.org/rfcs/rfc2397.html Naik, D., Internet Standards and Protocols, Microsoft Press, Redmond, 1998 Rescorla, E., HTTP Over TLS, RFC 2818, Internet Engineering Task Force (IETF), 2000: http://www.ietf.org/rfc/rfc2818.txt Shiflett, C., HTTP Developer’s Handbook, Sams Publishing, 2003 * * *, World-Wide Web Consortium, Boston, 2006: http://www.w3.org/
  • 88. Capitolul 2 Modele de date semistructurate. Familia XML „(VHQLDOXO vQ OXPkQDUH QX HVWH FHDUD FH ODV XUPD FL OXPLQD” Antoine de Saint-Exupéry Capitolul expune cele mai importante aspecte privitoare la meta-limbajul XML, oferind o privire de ansamblu asupra tehnologiilor XML în YLJRDUH 6H SUH]LQW PDQLHUHOH GH WUDQVIRUPDUH YDOLGDUH üL LQWHURJDUH a documentelor XML prin intermediul unor limbaje standardizate ca ;3DWK ;6/ ;0/ 6FKHPD 5(/$; 1* üL ;4XHU 'H DVHPHQHD materialul expunH PRGDOLWLOH GH VWRFDUH üL PDQDJHPHQW DO LQIRUPD- LLORU VHPLVWUXFWXUDWH YLD ED]H GH GDWH QDWLYH ;0/ 6XQW H[HPSOLILFDWH üL GLYHUVH OLPEDMH ED]DWH SH ;0/ /D ILQDOXO FDSLWROXOXL VH IDFH R SUH]HQWDUH D üDEORDQHORU GH SURLHFWDUH ;0/ Cuvinte-cheie: date semistructurate, XML, meta-OLPEDM DSOLFDLL ;0/ üDEORDQH VWUXFWXUDOH 1. Introducere 1.1. Formate de date DSLWROXO GH ID VH FRQFHQWUHD] DVXSUD PRGHOHORU GH UHSUH]HQWDUH D UHVXUVHORU :HE 'DF SHQWUX LGHQWLILFDUH :HE-ul recurge la identificatori uniforPL GH UHVXUVH GHVFULüL vQ FDSLWROXO DQWHULRU LDU SHQWUX LQWHUDFLXQH VH IRORVHüWH vQ PRG X]XDO SURWRFROXO +773 UHSUH]HQWDUHD UHVXUVHORU VH UHDOL]HD] YLD IRUPDWH GH GDWH $UKLWHFWXUD VSDLXOXL ::: vQFXUDMHD] refolosirea formatelor existente, printre aspectele importante legate de aceasta putându-VH HQXPHUD -DFREV üL :DOVK
  • 89. Tehnologii XML30 • DGRSWDUHD IRUPDWHORU WH[WXDOH vQ FRQWUDVW FX FHOH ELQDUH YH]L üL %XUDJD üL %XUDJD
  • 90. • FRQWUROXO YHUVLXQLORU R UHVXUV SRDWH HYROXD vQ WLPS DSUkQG necesitatea FXQRDüWHULL LVWRULFXOXL PRGLILFULORU VDOH VDX PLQLPDO data ultimei actuDOL]UL
  • 91. • H[WHQVLELOLWDWHD PDL DOHV vQ FHHD FH SULYHüWH KLSHUWH[WXO R UHVXUV SRDWH LQFOXGH UHIHULQH üLVDX DOWH WLSXUL GH FRQLQXW PRGDOLWLOH GH extindere fiind, practic, infinite); • FRPSXQHUHD IRUPDWHORU R UHVXUV SRDWH IL UHSUH]HnWDW SULQWU-un format de date care în anumite cirFXPVWDQH IXQFLRQHD] FD XQ FRQWDLQHU DO XQRU IRUPDWH HWHURJHQH ILHFDUH DGUHVDW üL SURFHVDW într-un mod specific – de exemplu, un document poate avea „scufundate” meta-GDWH SULYLWRDUH OD SURSULHWLOH DFHVWXLD SOXV WLSXUL GH FRQLQXW GLYHUVH LPDJLQL YHFWRULDOH VDX UDVWHU OXPL ' expresii matematice etc.); • VHSDUDUHD FRQLQXWXOXL SUH]HQWULL üL LQWHUDFLXQLL DFHVWH WUHL aspecte trebuie pe cât posLELO V ILH WUDWDWH vQWU-R PDQLHU LQGHSHQ- GHQW
  • 92. 'DF SkQ vQ DQLL FHUFHWULOH V-au axat asupra modului de procesare vQ DFHD SHULRDG LQIRUPDWLFLHQLL DX IRVW SUHRFuSDL PDL DOHV GH WHKQLFLOH GH SURLHFWDUH D DOJRULWPLORU
  • 93. GDWHOH ILLQG PXOW PDL SXin importante decât codul-VXUV GHFHQLLOH üL DOH VHFROXOXL ;; DX FRQGXV OD DSDULLD XQRU IRUPDWH GH GDWH SURSULHWDUH IRORVLWH vQ VSHFLDO GH DSOLFDLLOH GH ELURX GDWHOH ILLQG OD IHO GH LPSRUWDQWH FD üL FRGXO DFHVWD GLQ XUP GH FHOH PDL PXOWH ori, pXWkQG IL FRQFHSXW FKLDU GH XWLOL]DWRU YLD XQRU IDFLOLWL SUHFXP macro-urile). Cu proliferarea serviciilor Internet, mai ales a Web-ului, datele au putut fi publicate liber, folosindu-VH XQ IRUPDW SUH]HQWDLRQDO SXV OD GLVSR]LLH GH +70/ ÍQFHSkQG FX QRXO mileniu, datele sunt considerate PXOW PDL LPSRUWDQWH GHFkW FRGXO 'DFRQWD 2EUVW üL 6PLWK
  • 94. DWHQLD F]kQG DVXSUD PRGHOULL FkW PDL HILFLHQWH D LQIRUPDLilor, prin intermediul unui format deschis, extensibil – subiectul acestui capitol. Mai mult decât atât, modelarea datelor nu reIOHFW GRDU VLQWD[D – VSHFLILFDW SULQWU-un set GH FRQYHQLL GH PDUFDUH – FL üL VHPDQWLFD – pâQ DFXP UHSUH]HQWDW GH codul-VXUV DO SURJUDPHORU FH SUelucrau acele date. 1.2. Modele de date 'DF IRUPDWHOH GH GDWH UHIOHFW PDQLHUD HIHFWLY GH VWRFDUH üL SUH]HQWDUH D LQIRUPDLLORU OD QLYHO FRQFHSWXDO WUHEXLH DGRSWDW PFDU XQ PRGHO GH
  • 95. Modele de date semistructurate. Familia XML 31 UHSUH]HQWDUH (YROXLD LQIUDVWUXFWXULL FRPSXWDLRQDOH D FRQGXV üL OD adoptarea unor modele de date diferite. $UKLWHFWXULOH WUDQ]DFLRQDOH DOH anilor ’60-’70 ai secolului trecut se pretau pentru modele de reprezentare ierarhice (arborescente) sau bazate pe grafuri. 2GDW FX DSDULLD vQ DQLL · D UHHOHORU ORFDOH GH FDOFXODWRare, au fost dez- voltate arhitecturi client/server, punctul central fiiQG GHLQXW GH PRGHOHOH relaLRQDOH GH UHSUH]HQWDUH üL VWRFDUH D GDWHORU OLHQLORU OL VH SHUPLWH LQWHU- SUHWDUHD GDWHORU GHLQXWH OD QLYHO GH VHUYHU vQ GLYHUVH FRPELQDLL JUDLH unui limbaj structurat de interogare (SQL – Structured Query Language), uQRU LQWHUIHH GH SURJUDPDUH D DSOLFDLLORU $3, – Application Programming Interface
  • 96. üL XQRU ÅSXQLµ GH DVLJXUDUH D FRQHFWLYLWLL SUHFXP 2'% – Open Database Connectivity – sau JDBC – Java Database Connectivity). Apar vQV SUREOHPH SULYLWRDUH OD LQGH[DUH QRUPDOL]DUH LQWHJULWDWH UHIHUHQLDO inclusiv anumite costuri (legate, de exemplu, de optimizare sau denormalizare) (vezi Fotache, 2005). 3UH]HQWXO HVWH ÅJXYHUQDWµ GH DUKLWHFWXULOH QDYLJDLRQDOH ED]DWH SH KLSHUWH[W XWLOL]DWH GH R SOHLDG GH GLVSR]LWLve, inclusiv cele mobile. Daum üL 0HUWHQ
  • 97. FRQVLGHU F PRGHOHOH GH GDWH FHOH PDL SRWULYLWH VXQW FHOH recurgând la gramaticile regulate (Jucan, 1999). Astfel, trebuie impuse ce- ULQH VXSOLPHQWDUH SHQWUX XQ PRGHO GH GDWH ÅLGHDOµ DOLQLDW GLUHFLLORU actuale de evoOXLH D :HE-ului: • asigurarea accesului la meta-date (datele privitoare la date) – WUHEXLH RIHULWH IDFLOLWL SHQWUX SXEOicarea, generarea (semi-)auto- PDW WUDQVIRUPDUHD vQ DOWH IRUPDWH D PHWD-datelor; • adnotarea resurselor, inclusiv a meta-datelor; • SRVLELOLWDWHD UHDOL]ULL GH LQWHURJUL IOH[LELOH • YHULILFDUHD LQWHJULWLL – FX REVHUYDLD F PHQLQHUHD XQHL LQWHJULWL UHIHUHQLDOH OD QLYHO JOREDO HVWH LPSRVLEiO • IDFLOLWDUHD UHDOL]ULL GH WUDQVIRUPUL DOH GDWHORU FX JHQHUDUHD GH documente prezeQWkQG DOWH VWUXFWXUL ILOWUUL üL LQWHURJUL VLPSOH
  • 98. • GHSHQGHQD GH FRQWH[WXO SURFHVULL üLVDX DO SUH]HQWrii; • utilizarea de formate standardizate, deschise. 1.3. Date semistructurate ÍQ PRG FODVLF vQDLQWH GH D QH SXQH SUREOHPD VWRFULL HIHFWLYH D GDWHOor în FDGUXO XQHL ED]H GH GDWH WUHEXLH V FRQFHSHP R VFKHP definind structurile SULORU GH LQIRUPDLH SH FDUH GRULP V OH SVWUP ÍQ FD]XO PRGHOXOXL UHODLRQDO DFHDVW VFKHP VSHFLILF QXPUXO üL WLSXO FkPSXULORU GH GDWH
  • 99. Tehnologii XML32 SOXV UHODLLOH FH VH SRW IRUPD vQWUH HOH RQFHSWXDO VH DSHOHD] OD PRGHOXO entitate-UHODLH (5 – Entity-Relationship
  • 100. 6FKHPD GH]YROWDW HVWH XQD ULJLG, vQ VHQVXO F WRDWH GDWHOH VWRFDWH WUHEXLH V VH FRQIRUPH]H UHVWULFLLORU LPSXVH GH DFHDVWD üL PDL PXOW VFKHPD WUHEXLH SUoiectaW vQDLQWH GH D SRSXOD ED]D GH GDWH FX LQIRUPDLL 6H SHUPLWH DüDGDU VWRFDUHD XQXL YROXP larg de date uniforme VWUXFWXUDWH vQ PDQLHU VLPLODU ([LVW vQV VLWXDLL FkQG DFHDVW DERUGDUH HüXHD] ÍQ VSHFLDO vQ FD]XO Web-XOXL GDWHOH VXQW HWHURJHQH üL SRt proveni din diverse surse. Utili- ]DWRULL SRW V QX DLE LQVWUXLUHD QHFHVDU SUoLHFWULL MXGLFLRDVH D XQHL VFKHPH GH ED]H GH GDWH LDU PXOWH DSOLFDLL PDQLSXOHD] LQIRUPDLL FDUH evoOXHD] vQ WLPS 5H]XPkQG GDWHOH GRULWH D IL PRGHODWH VXQW SUDFWLF QHOL- mitate (unbound
  • 101. üL QHFXQRVFXWH QHH[LVWkQG apriori un vocabular comun. 8Q H[HPSOX HGLILFDWRU GDW GH )ORUHVFX
  • 102. HVWH FHO DO FUHULL XQXL GHSR]LW GH UHHWH JDVWURQRPLFH SURYHQLQG GLQ vQWUHDJD OXPH üL LQFOX]kQG üL GHWDOLL GH RUGLQ LVWRULF üL FXOWXUDO UHIHULWRDUH OD SUHJWLUHD GLYHUVHORU IHOXUL GH PkQFDUH 2 DOW H[HPSOLILFDUH DU IL DFHHD D VWRFULL XQHL DQWRORJLL GH SRH]LL 8Q DOW GH]DYDQWDM DO WUDGLLRQDOHORU PRGHOH GH GDWH HVWH F GHVHRUL GDWHOH QX SUH]LQW WUVWXUL DXWRH[SOLFDWLYH self-explanatory
  • 103. üL QX SHUPLW OD SULPD YHGHUH SUHFL]DUHD D FH DQXPH UHSUH]LQW 'H H[HPSOX XQ WXSOX GH IRUPD („Sabin”, „Buraga”, 33), preluat dintr-R WDEHO D XQHL ED]H GH GDWH UHODLR- QDOH QX RIHU SUHD PXOWH LQIRUPDLL SULYLWRDUH OD VHPDQWLFD GDWHORU 3XWHP presuSXQH F SULPHOH GRX HOHPHQWH GHVHPQHD] SUHQXPHOH üL QXPHOH XQHL SHUVRDQH vQV HVWH GLILFLO GH ÅJKLFLWµ FH UHSUH]LQW XOWLPXO QXPU IU D DYHD OD GLVSR]LLH R VFKHP DVRFLDW $U SXWHD IL YRUED GH YkUVW GDU OD IHO GH ELQH GH QXPUXO GH DUWLFROH SXEOLFDWH GH FHD SHUVRDQ OD FRQIHULQH LQWHUQDLRQDOH VDX GH SXQFWDMXO RELQXW OD XQ MRF ÍQ FRQWH[WXO :HE-ului, dateOH DU WUHEXL V ILH DXWRH[SOLFDWLYH PDL DOHV FkQG VXQW LQWHUVFKLPEDWH vQWUH WHUH HQWLWL SHUVRDQH VHUYLFLL VLsWHPH HWF
  • 104. FDUH QX QHDSUDW SDUWDMHD] R VFKHP GH GDWH FoPXQ RUL DFHODüL IRUPDW GH UHSUH]HQWDUH ÍQ FRQWUDVW FX WUDGLLRQDOHOH VLVWHPH GH PDQDJHPHQW DO GDWHORU GDWHOH VHPLVWUXFWXUDWH QX QHFHVLW SUH]HQD XQHL GHIiQLLL D XQHL VFKHPH GH GDWH RQIRUP $ELWHERXO %XQHPDQ üL 6XFLX
  • 105. DFHVWH GDWH DX R VWUXFWXU LQWULQVHF IU D IL VSHFLILFDW VHSDUDW üL vQ DYDQV
  • 106. vQV QX XQD ULJLG üL QLFL XQD FRPSOHW QHVWUXFWXUDW ÍQ IDSW QX H[LVW R GHILQLLH H[DFW D FHHD FH vQ- VHDPQ GDWH VHPLVWUXFWXUDWH )ORUHVFX
  • 107. GHVHPQHD] SULQ date VHPLVWUXFWXUDWH DFHOH LQIRUPDLL GLJLWDOH FDUH QX SRW IL PRGHODWH IDFLO üL HILFLHQW FRQIRUP PHWRGRORJLLORU VFKHPHORU üL LQVWUumentelor software WUDGLLRQDOH 0XOWH GLQWUH SUREOHPHOH VXUYHQLWH vQ DFHVW FRQWH[W VXQW FHOH privind nepotrivirile dintre inIRUPDLLOH SH FDUH GRULP V OH PRGHOP üL IDFLOLWLOH RIHULWH GH LQVWUXPHQWHOH DFWXDOH
  • 108. Modele de date semistructurate. Familia XML 33 HO PDL IUHFYHQW FD] GH H[LVWHQ D GDWHORU VHPLVWUXFWXUDWH HVWH FHO vQ cadrul paginilor Web formate din text scris în limbaj natural. Un mare SURFHQWDM GLQ LQIRUPDLLOH SUH]HQWH SH :HE HVWH FRQLQXW GH GRFXPHQWH vQ formate precum HTML, PDF, JPEG sau Word. Modelul entitate-UHODLH QX HVWH DGHFYDW SHQWUX D PRGHOD OLPEDMXO QDWXUDO RDPHQLL FRPXQLF SULQ intermeGLXO IUD]HORU üL QX D HQWLWLORU üL UHODLLORU GLQWUH HOH Fare, din punct de vedere teoretic, trebuie a priori stabilite). Mai mult, popularele limbaje de specificare a schemelor sunt în general prea simpliste pentru a modela VWUXFWXUL LQIRUPDLRQDOH GLQDPLFH üL WRW PDL FRPSOH[H SH PVXU FH HYR- OXHD] Desigur, OD FHOH GH SUHFL]DWH PDL VXV vQFHS V VH vQWUHYDG VROXLL 3ULPD HVWH IRORVLUHD IDPLOLHL GH OLPEDMH ;0/ 3ULQ PRGDOLWLOH VDOH VLQWDFWLFH OLPEDMXO ;0/ SHUPLWH PRGHODUHD XQXL VSHFWUX ODUJ GH LQIRUPDLL GH OD GDWH complet structurate (e.g. LQIRUPDLL SULYLWRDUH OD FRQWXUL EDQFDUH
  • 109. SkQ OD WH[W vQ OLPEDM QDWXUDO 'XS FXP YRP YHGHD vQ FDGUXO DFHVWXL FDSLWRO GRFXPHQWHOH ;0/ SRW LQFOXGH FRQLQXWXUL PL[WH SRW IL WUDQVIRUPDWH vQ DOWH IRUPDWH üL GH DVHPHQHD SRW IL LQWHUogate. 2. XML pentru reprezentarea datelor semistructurate 2.1. Precursori 3HQWUX vQFHSXW QH YRP SODVD vQ GRPHQLXO UHSUH]HQWULL GRFXPHQWHORU HOHFWURQLFH /D vQFHSXWXUL DFHVWH WLSXUL GH UHVXUVH FRQLQHDX FRGXUL VDX macro-uri care indicau un anumit mod de formatare a documentelor, într-o mDQLHU SDUWLFXODU FRGLILFaUHD VSHFLILF GHSLQ]kQG GH FDUDFWHULVWLFLOH hardware sau ale sistemului de operare). Prin contrast, modul de codificare JHQHULF DSUXW OD VIkUüLWXO DQLORU ·
  • 110. XWLOL]HD] marcatori (tag-uri) des- criptivi pentru specificarea modului de aranjare (structurare) a unui anumit document. Printre susLQWRULL DFHVWHL GLQ XUP PHWRGH V-D QXPUDW üL William Tunnicliffe SUHüHGLQWH DO *$ Graphic Communications Association), FDUH D GRULW V LPSXQ VHSDUDUHD FRQLQXWXOXL Gocumentelor de formatul lor. Tot la finalul anilor 1960, Stanley Rice propune ideea unui catalog XQLYHUVDO GH PDUFDWRUL SDUDPHWUL]DL SHQWUX VWUXFWuUDUHD HGLWULL GH FDUWH Norman Scharpf GH]YROW DFHDVW LGHH üL DVWIHO HVWH FUHDW GenCode, capabil a recunoaüte ce tipuri GH FRGXUL VXQW QHFHVDUH HGLWULL ILHFUHL FODVH GH GRFXPHQW vQ SDUWH üL Podul de includere a documentelor de dimensiuni reduse în unele mai largi. Acest proiect a jucat ulterior un rol important în dezvoltarea standardului SGML, precursor al limbajului XML.
  • 111. Tehnologii XML34 În 1969, Charles Goldfarb FRQGXFWRU DO SURLHFWXOXL ,%0 GH FHUFHWDUH D VLVWHPHORU LQIRUPDLRQDOH LQWHJUDWH vQ GRPHQLXO OeJLVODWLY vPSUHXQ FX Edward Mosher üL Raymond Lake, invenWHD] GML (Generalized Markup Language) pentru a permite editarea, formataUHD GH WH[WH üL SDUWDMDUHD documentelor în contextul sistemelor distribuite. GML se baza pe ideile de codiILFDUH JHQHULF DOH OXL 5LFH üL 7XQQLFOLIIH üL LQWURGXFHD FRQFHSWXO GH GHILQLUH IRUPDO D WLSXULORU GH GRFXPHQWH prin intermediul unor structuri de elemente recursive. 3UL PDMRUH DOH *0/ DX IRVW LPSOHPHQWDWH vQ VLVWHPHOH GH HGLWDUH FRPSXWHUL]DW SH mainframe-XUL GH FWUH ,%0 üL DOWH FRUSRUDLL *ROGIDUE vüL conWLQX FHUFHWULOH UHIHULQH vQFUXFLüDWH SURFHVDUH vQOQXLW WLSXUL GH documente concureQWH FDUH QX YRU DSUHD vQ *0/ GDU YRU IL GH]YROWDWH FD SUL DOH 6*0/ În 1978, ANSI (American National Standards Institute
  • 112. SULQ FRPLWHWXO VX GH SURFHVDUH D LQIRUPDLLORU GHVHPQHD] XQ JUXS FDUH V VH RFXSH GH FUHDUHD de limbaje de programare pentru SUHOXFUDUHD HOHFWURQLF D WH[WHORU JUXS condus de Charles Card, avându-O FD PHPEUX SH 1RUPDQ 6FKDUSI üL DSRL cooptându-O üL SH *ROGIDUE 5H]XOWDWXO D IRVW OLPEDMXO 6*0/ D FUXL SUiP SUH]HQWDUH D IRVW H[SXV vQ 'LQ DQXO *$ O-a putut recomanda FD VWDQGDUG LQGXVWULDO VXVLQXW GH 0LQLVWHUXO $SUULL DO 6WDWHORU 8QLWH În anul 1984, proiectul a fost autorizat de ISO (International Organization for Standardization
  • 113. HUFHWULOH DX FRQWLQXDW vQ FDGUXO FRPLWHWXOXL $16, condus de William Davis, cu VXVLQerea comitetului GenCode al GCA, avându-l la conducere pe Sharon Adler de la IBM. ÍQ DQXO D IRVW SXEOLFDW SURSXQHUHD FD 6*0/ V GHYLQ VWDQGDUG LQWHUQDLRQDO 7H[WXO ILQDO DO VSHFLILFDLLORU 6*0/ D IRVW DSUREDW üL SXEOLFDW în anul 1986, utilizându-se un sistem SGML dezvoltat la CERN de Anders Berglund – ISO 8879: Information Processing – Text and Office Systems – Standard Generalized Markup Language (Goldfarb, 1990). $SURDSH GH ILQDOXO VHFROXOXL ;; RQVRULXO :HE D GRULW FUHDUHD XQXL limbaj coPSDWLELO FX 6*0/ GDU FDUH V VH SUHWH]H OD XWLOL]DUHD vQ FDGUXO Web-ului, operându-VH R VHULH GH VLPSOLILFUL üL UH]HFLL DOH VSHFLILFDLHL SGML. În 1998, apare prima recomandare a XML (Extensible Markup Language), actualmente fiind în vigoare XML 1.0 – eGLLD D WUHLD %UD et al., D
  • 114. üL ;0/ %UD et al., 2004b). RQFHSWHGHED]DUDFWHUL]DUHüLWUVWXUL 3XWHP FRQVLGHUD ;0/ FD ILLQG XQ VWDQGDUG LQWHUQDLRQDO SHntru descrierea de marcaje (markups) privitoare la resursele electronice. În fapt, XML reprezinW
  • 115. Modele de date semistructurate. Familia XML 35 un meta-OLPEDM GHVFULHUH IRUPDO D XQXL OLPEDM FRQIRUP XQHL JUDPDtici DVRFLDWH
  • 116. /D vQFHSXW D IRVW Y]XW FD XQ OLPEDM GH DGQRWDUH GH IRUPDtare) GH WH[WH GDU VFRSXULOH DFWXDOH GHSüHVF DFHDVW LQWHUSUHWDUH vQJXsW Termenul marcaj (markup
  • 117. D IRVW XWLOL]DW LQLLDO SHQWUX D GHVFULH DQXPLWH DGQRWUL QRWH PDUJLQDOH vQ FDGUXO XQXL WH[W FX LQWHQLD GH D LQGLFD WHKQR- redactorului cum trebuie listat un anumit pasaj ori chiar omis. Exemple de acest gen ar fi sublinierea unor anumite cuvinte, folosirea anumitor simbo- luri speciaOH OLVWDUHD XQRU SUL GH GRFXPHQW FX XQ FRUS GH OLWHU IRQW
  • 118. VSHFLILFDW HWF XP IRUPDWDUHD üL LPSULPDUHD WH[WHORU DX IRVW DXWRPDWL]DWH termenul s-a extins pentru a acoperi toate tipurile de coduri de marcare inserate în textele electronice cu scopul de a indica modul de formatare, OLVWDUH RUL DOWH DFiuni. Generalizând, putem defini marcajul sau codarea GUHSW RULFH DFLXQH GH D LQWHUSUHWD H[SOLFLW XQ IUDJPHQW GH GDW /D XQ Qivel superficial, toate textele sunt codDWH HOHPHQWHOH GH SXQFWXDLH IRORVLUHD GH PDMXVFXOH GLVSXQHUHD HQXQXULORU vQ SDJLQ FKLDU üL VSDLLOH GLQWUH FXYLQWH SXWkQG IL SULYLWH GUHSW PDUFDMH RGLILFDUHD XQXL WH[W SHQWUX SURFHVDUHD FRPSXWHUL]DW SRDWH IL FRQVLGHUDW vQ SULQFLSLX FD R WUDQVFriere a unui manuscris din scriptio continua într-un format special, intern, dictat de utilizator prin folosirea, expliFLW VDX QX D XQRU GLUHFWLYHPDUFDMH FDUH GHILQHVF PRGXO GH LQWHU- SUHWDUH D FRQLQXWXOXL WH[WXOXL 'eVLJXU SXWHP JHQHUDOL]D DFHDVW DFiune OD RULFH WLS GH UHVXUV :HE Printr-un limbaj de specificare vQHOHJHP DVWIHO XQ VHW GH FRQYHQLL GH marcare utilizate pentru codificarea textelor 8Q OLPEDM GH PDUFDUH WUHEXLH V specifiFH PXOLPHD GH PDUFDMH REOLJDWRULL SHUPLVH PDQLHUD GH LGHQWLficare D PDUFDMHORU üL FDUH HVWH VHPDQWLFD ILHFUXL PDUFDM GLVSRQLELO VLPLODU SUR- cesului de speciILFDUH D VLQWD[HL üL VHPDQWLFLL XQXL OLPEDM GH SURJUDPDUH
  • 119. ([LVW XUPWRDUHOH FDUDFWHULVWLFL GHILQLWRULL DOH ;0/ SULPHOH WUHL PRüWH- nite de la SGML: • utilizarea marcajelor descriptive (descriptive markups) – se folosesc PDUFDMH FDUH RIHU QXPH VSeFLDOH SHQWUX D FODVLILFD SUL GH document (de exemplu, para SRDWH LGHQWLILFD R SRULXQH GLQWU-un anumit document, în cazul nostru început de paragraf). Prin contrDVW XQ OLPEDM GH PDUFDUH SURFHGXUDO GHILQHüWH R DFLXQH GH îndeplinit la un moment dat – e.g., move(left_margin, 2cm) ori skip(this.line); • adoptarea tipurilor de documente – 6*0/ LQWURGXFH QRLXQHD GH WLS GH GRFXPHQW üL GH GHILQLLH D WLSXULORU GH GRFXPHnte: DTD – Document Type Definition. Documentele sunt privite ca având tipuri, DüD FXP DX RELHFWHOH SURFHVDWH GH FDOFXODWRDUH 8Q WLS GH GRFXPHQW
  • 120. Tehnologii XML36 HVWH GHILQLW IRUPDO GH SULOH VDOH FRQVWLWXHQWH üL GH VWUXFWXUD ORU 'H H[HPSOX GHILQLLD XQXL UDSRUW SRDWH FRQVWD GLQ WLWOX üL QXPHOH DXWRUXOXL XUPDWH GH XQ UH]XPDW üL GH R VHFYHQ GH PDL PXOWH paragrafe. Documentele având asociat un tip, se poate utiliza un analizor (parser) pentru a le verifica valiGLWDWHD DGLF DSDUWHQHQD OD XQ WLS GH GRFXPHQW üL UHVSHFWDrea elementelor specificate în DTD. $VWIHO GRFXPHQWH GH DFHODüL WLS SRW IL SURFHVDWH vQWU-un mod XQLIRUP 3URJUDPHOH SRW H[SORDWD LQIRUPDLLOH vQFDSVXODWH vQ GHILQLLLOH GH VWUXFWXU DOH GRFXPHnWHORU üL VH SRW FRPSRUWD GHFL într-R PDQLHU ÅLQWHOLJHQWµ 5ecomandarea XML nu impune în mod obligatoriu FD R LQVWDQ GH GRFXPHQW V VH FRQIRrmeze unui tip de document (vezi mai jos); • LQGHSHQGHQD GDWHORU – ;0/ DVLJXU WUDQVODWDUHD GRFXPHQWHORU vQ GLYHUVH IRUPDWH VDX FRGLILFUL GH FDUDFWHUH VH DGRSW VWDQGDUGXO UQLFRGH
  • 121. ILLQG LQGHSHQGHQW GH SODWIRUPD KDUGZDUHVRIWZDUH üL RIHULQG IDFLOLWL GH H[WLQGHUH D PDUFDMHORU GXS FXP YRP YHGHD un document XML poate include elemente provenite din alt document XML); • case-sensitivity – FRQVWUXFLLOH ;0/ VXQW GHSHQGHQWH GH Faz, literele mici diferind astfel de majuscule. $VWIHO SULQWUH WUVWXULOH FDUH DX IFXW PHWD-OLPEDMXOXL ;0/ V DLE XQ ecou însemnat în industria software, reprezentând o tehnologie sine qua non a prezentului, se pot enumera: • suport acordat Web-ului, priQ IDFLOLWDUHD LPSOHPHQWULORU vQ RULFH limbaje de programare actuale; • IDFLOLWL SHQWUX XWLOL]DUHD LQWHUQDLRQDO VXSRUW SHQWUX 8QLFRGH üL LQGHSHQGHQD GH FRGLILFDUH üL OLmE
  • 122. • meta-limbaj (se permite definirea de noi limbaje, într-R PDQLHU SRUWDELO
  • 123. • sROXLH SHQWUX UHSUH]HQWDUHD FRQLQXWXOXL UHVXUVHORU :HE LGHQWL- ficate via URI. RQFKL]kQG ;0/ UHSUH]LQW R PHWRG GH GHVFULHUH XQLYHUVDO D LQIRUPDLHL DVWIHO vQFkW DWkW FRPSXWHUHOH FkW PDL DOHV RDPHQLL V R SRDW vQelege. Scopurile limbajului sunt cele legate de utilizarea lui în Internet, VXSRUWkQG R YDULHWDWH GH DSOLFDLL SVWUkQG FRPSDWLELOLWDWHD FX YHFKLXO SGML, dar fiind mult mai flexibil decât HTML. Fiind R PHWRG XQLYHUVDO SHQWUX UHSUH]HQWDUHD GHVFULHUHD
  • 124. LQIRUPDLLORU KLSHUWH[W ;0/ SRDWH IL Y]XW FD R WHKQRORJLH FRPSOHPHQWDU OLPEDMului HTML, nu drept o înlocuire a sa.
  • 125. Modele de date semistructurate. Familia XML 37 RQVWLWXHQL 8Q GRFXPHQW ;0/ SRDWH FXSULQGH XUPWRDUHOH FDWHJRULL GH FRQVWLWXHQL (Bray et al., 2004a): • GHFODUDLD SURORJXO VDX SUHDPEXOXO
  • 126. • elementele; • atributele; • entitLOH • VHFLXQLOH GH PDUFDUH • LQVWUXFLXQLOH GH SURFHVDUH 'HFODUDLD;0/ 'RFXPHQWHOH ;0/ SRW üL DU WUHEXL V vQFHDS FX R GHFODUDLH SURORJ
  • 127. ;0/ FDUH VSHFLILF YHUVLXQHD OLPEDMXOXL ;0/ XWLOi]DW 'HFODUDLD ;0/ vQFHSH FX ?xml üL VH WHUPLQ FX FDUDFWHUHOH ? ÍQ FD]XO vQ FDUH H[LVW vQ GRFXPHQW GHFODUDLD ;0/ DFHDVWD WUHEXLH V ILH SULPXO HOHPHQW DO GRFXPHQWXOXL 'HFODUDLD QX SRDWH IL SUHFHGDW GH QLFL XQ DOW HOHPHQW üL WUHEXLH V ILH XQLF ([LVW WUHL DWULEXWH FDUH SRW V DSDU vQ GeFODUDLD ;0/ • version – UHSUH]LQW XQD GLQWUH YHUVLXQLOH FXUHQWH DOH ;0/ VDX
  • 128. ÍQ PRG X]XDO GHFODUDLD DUH IRUPD ?xml version=1.0 ?. 'RFXPHQWHOH vQ D FURU GHFODUDLH H[LVW VSHFLILFDW YHUVLXQHD WUHEXLH V VH FRQIRUPH]H DFHVWHL YHUVLXQL DOWIHO SURFHVRDUHOH ;0L care vor prelucra acele documente vor genera eroare. Conformarea FX YHUVLXQHD VSHFLILFDW vQVHDPQ XWLOL]DUHD FRQVWUXFLLORU GHILQLWH în acea versiune sau în versiunile precedente, dar numai în cazul când este specificat acest aspect. • encoding – atributul poate lua valorile UTF-8, UTF-16, ISO-10646- UCS- VDX RULFH DOWH YDORUL FDUH UHSUH]LQW VXEPXOLPL DOH VHWXOXL 8QLFRGH 'DF VH IRORVHüWH GHQXPLUHD XQHL PXOLPL FDUH QX HVWH GHILQLW GH ,62 DWXQFL WUHEXLH IFXW H[SOLFLW UHIHULUH OD DGUHVD OD care se DIO VSHFLILFDW DFHO VHW GH FDUDFWHUH 'DF VH vQWkOQHüWH vQ WH[W o enWLWDWH FDUH QX SRDWH IL SURFHVDW GLQ FDX]D GHILQLULL JUHüLWH D PXOLPLL GH FDUDFWHUH DWXQFL VH JHQeUHD] R HURDUH IDWDO 6HWXO GH FDUDFWHUH $6,, HVWH R VXEPXOLPH D VHWXOXL 87)-8. Un exemplu WLSLF GH GHFODUDUH D FRGLILFULL HVWH ?xml version=1.0 encoding=UTF-8 ?. • standalone – atributul poate lua valorile yes sau no. În GRFXPHQWHOH ;0/ SRW H[LVWD DQXPLWH UHIHULQH VSUH DOWH GRFXPHQWH FDUH V FRQLQ GHILQLLL DOH XQRU PDUFDMH DWULEXWH VDX HQWLWL GLQ
  • 129. Tehnologii XML38 document. Când valoarea este yes DWXQFL UHIHULQHOH VSUH DOWH GRFXPHQWH VXQW SURKLELWH 'DF YDORDUHD HVWH no, atunci este posibil V H[LVWH UeIHULQH VSUH DOWH GRFXPHQWH GDU GDF QX H[LVW DWXQFL folosirea atributului nu are seQV ,PSOLFLW VH FRQVLGHU F XQ GRFXPHQW vQ D FUXL GHFODUDLH QX HVWH VSHFLILFDW DWULEXWXO standalone QX FRQLQH UHIHULQH H[WHrne. Elementele Caracterizare RPSRQHQWD VWUXFWXUDO XQLWDWHD-text) a unui document XML este elemen- tul. Diferite tipuri de elemente au asociate nume diferite. Fiecare element trebuie specificat explicit prin intermediul marcajelor (tag-urilor). Perechea marcaj de început (start tag) – PDUFDM GH VIkUüLW end tag
  • 130. HVWH IRORVLW OD vQFDGUDUHD ILHFUHL LQVWDQH D HOHPHQWXOXL UHVSHFWiv în cadrul unui text VLPLODU XWLOL]ULL GLIHULWHORU WLSXUL GH SDUDQWH]H RUL VHPQH GH SXQFWXDLH GH H[HPSOX vQ VHFLXQLOH GH vQFHSXW üL GH VIkUüLW GH EORF GH LQVWUXFLXQL VH scriu între {}, iar în limbajul natural folosim ghilimelele pentru a delimita XQ FLWDW
  • 131. ÍQ ;0/ VH XWLOL]HD] element pentru a specifica un tag de vQFHSXW üL /element SHQWUX FHO GH VIkUüLW XQGH element este numele unui element oarecare (specificat de utilizator ori de autoritatea care a UHGDFWDW VSHFLILFDLLOH OLPEDMXOXL EDzat pe XML folosit). Între caracterul „” üL QXPHOH SURSULX-zis al elementuOXL QX VXQW SHUPLVH VSDLLOH DOEH 1XPHOH XQXL HOHPHQW SRDWH IL FRQVWLWXLW GLQ OLWHUH FLIUH üL VHPQHOH X]XDOH (e.g., „_”, „-µ ŵ
  • 132. WUHEXLQG V vQFHDS FX R OLWHU VDX FX FDUDFWHUul „_”), regulile sintactice fiind similare celor privitoare la identificatorii de variabile. Numele începând cu caracterele „xml” (în orice modalitate de scriere, cu majuscule sau minuscule) sunt rezervate. Numele unui element nu poate conLQH VSDLL DOEH. Modele structurale 8Q HOHPHQW SRDWH IL YLG QX FRQLQH QLPLF vQWUH tag-XULOH GH vQFHSXW üL VIkUüLW
  • 133. VDX SRDWH LQFOXGH XQ WH[W üLU GH FDUDFWHUH
  • 134. RUL DOWH HOHPHQWH 0DL PXOWH HOHPHQWH GH DFHODüL WLS SRW IL DüDGDU LPEULFDWH 8Q DVSHFW GHRVHELW GH important HVWH FHO SULYLWRU OD IDSWXO F HOHPHQWHOH WUHEXLH V ILH vQFKLVH üL imbricate corect. RQLQXWXO WH[WXDO DO XQXL HOHPHQW SRDWH IL FRPSXV GLQ FDUDFWHUHOH SHUPLVH GH FRGLILFDUHD SUHFL]DW GH DWULEXWXO encoding GLQ GHFODUDLD ;0/ RULFH DSDULLH GH VSDLL DOEH PXOWLSOH ILLQG LPSOLFLW UHGXV OD XQ VLQJXU caracter spaLX
  • 135. Modele de date semistructurate. Familia XML 39 5HODLLOH GLQWUH HOHPHQWHOH ;0/ SRW IL Y]XWH vQ WHUPHQL GH • VHFYHQ – HOHPHQWHOH SRW JHQHUD R VHFYHQ ILHFDUH Sutând avea un „frate” (sibling
  • 136. GHVHPQDW GH XUPWRUXO HOHPHQW VLWXDW OD DFHODüL nivel, neimbricat); • DSDULLH – unele elemente pot fi obligatorii, pe când altele pot avea XQ FDUDFWHU RSLRQDO YH]L infra); • ierarhie – un element inclus în altul se va numi copil, iar elementul plasat la nivelul imediat superior este denumit SULQWH (root); ele- PHQWXO FDUH QX DUH SULQWH HVWH QDWXUDO HOHPHQWXO-UGFLQ ILLQG FHO FDUH JHQHUHD] VWUXFWXUD DUERUHVFHQW DO GRFXPHQWXOXL ;0/ • grupare – mai multe elemente pot fi grupate de un element-SULQWH IXQFLRQkQG FD XQ FRQWDLQHU • incluziune – un element poate include alte elemente; elementele YLGH VXQW GHQXPLWH üL elemente-IUXQ]. 3HQWUX D LOXVWUD PDL GHWDOLDW DFHVW DVSHFW FRQVLGHUP XQ model structural IRDUWH VLPSOX 3UHVXSXQHP F GRULP V LGHQWLIiFP R DQWRORJLH SULQWU-o succesiune de poeme, titlurile lor, versurile din care sunt compuse. În termenii XML, antologie UHSUH]LQW XQ WLS GH GRFXPHQW üL HVWH FRPSXV dintr-o serie de poeme. Fiecare poem vQFDSVXOHD] XQ HOHPHQW titlu (unic) üL FkWHYD DSDULLL GH HOHPHQWH VWURI ILHFDUH VWURI FRQLQkQG XQ QXPU GH elemente vers. Astfel, avem: antologie poem titlu.../titlu VWURI! vers.../vers vers.../vers ... VWURI! /poem poem ... !-- mai multe poeme... (acesta e un comentariu) -- /poem /antologie (YLGHQW H[HPSOXO GH PDL VXV QX QH SUHFL]HD] DQXPLWH UHJXOL GH FRPSXQHUH D XQHL DQWRORJLL GH H[HPSOX QX SXWHP LPSXQH FD XQ WLWOX V QX DSDU GH PDL PXOWH RUL VDX V ILH SODVDW OD ILQDOXO XQXL SRHP
  • 137. $üDGDU vom avem nevoie de un mecanism de precizare a structurii.
  • 138. Tehnologii XML40 7RWXüL FKLDU üL OD DFHVW QLYHO GRFXPHQWXO GH WLS DQWRORJLH SRDWH IL procesat în anumite moduri, pentru diverse scopuri. Un program de indexare ar putea extrage doar elemente relevante criteriului ales pentru realizarea inGH[XOXL R OLVW GH WLWOXUL R OLVW D FHORU PDL GHV IRORVLWH FXYLQWH dintr-o poezie. Un program de formatare a textului ar putea insera linii vQWUH ILHFDUH VWURI LDU WLWOXO ILHFUXL SRHP DU SXWHD IL WLSULW vQJURüDW Iolosit XQ FRUS GH OLWHU VSHFLILFDW 8Q SURJUDP PDL DPELLRV SHQWUX DQDOL]D OLQJYLVWLF DVLVWaW GH FDOFXODWRU DU SXWHD GHWHUPLQD PHWULFD üL WLSXO GH ULP DOH ILHFUXL Soem. 0RGHOXO HVWH XQXO VHPLVWUXFWXUDW GHRDUHFH QXPUXO GH VWURIHYHUVXUL nu este a priori cunoscut, în cadrul documentulXL SXWkQG DSUHD üL DOWH FRQVWUXFLL ;0/ FDUH LQLLDO QX HUDX Funoscute. 8Q DOW H[HPSOX VH UHIHU OD PDQLHUD GH VWRFDUH D LQIRUPDLLORU SULYLWRDUH OD DXWRULL OXFUULORU SXEOLFDWH GH R HGLWXU autori autor numeSabin Buraga/nume adresahttp://www.infoiasi.ro/~busaco//adresa varsta / DILOLHUH!)DFXOWDWHD GH ,QIRUPDWLF GLQ ,DúLDILOLHUH! /autor autor ... /autor autor ... /autor /autori 'LQ FHOH GHVFULVH GH H[HPSOXO DQWHULRU REVHUYP IRORVLUHD XQXL HOHPent FX FRQLQXW YLG VFULV varsta / sau varsta/varsta, ambele variante fiind corecte. Atributele Un atribut HVWH XWLOL]DW FX VFRSXO GH D GHVFULH R DQXPLW SURSULHWDWH D XQHL DSDULLL VSHFLILFH SDUWLFXODUH
  • 139. D XQXL HOHPHQW 3XWHP IDFH R DQDORJLH vQWUH DWULEXWH GHVFULLQG HOHPHQWH
  • 140. üL DGMHFWLYH FDUH GHVFULX VXEVWDQWLYH
  • 141. Atributele sunt localizate în tag-XO GH VWDUW DO XQXL HOHPHQW LPHGLDW GXS QXPHOH HOHPHQWXOXL DFXP HVWH HYLGHQW GH FH QX SRW H[LVWD VSDLL DOEH vQ numele unui element), sunt urmate de „=”, apoi de valoarea atributului,
  • 142. Modele de date semistructurate. Familia XML 41 VFULV vQWUH JKLOLPHOH VDX DSRVWURIXUL 'DF YDORDUHD XQXL DWULEXW QX HVWH VSHFLILFDW vQWUH JKLOLPHOH YD IL VHPQDODW R HURDUH OD IHO FD üL vQ FD]XO vQ FDUH SHQWUX XQ DWULEXW QX DU IL DWDüDW üL YDORDUHD DFHVWXLD 3Hntru un element pot exista oricâte atribute, specificate în orice ordine, atât timp cât sunt declarate corect. 'H H[HPSOX XQ SDUDJUDI SRDWH DFFHSWD FD DWULEXW RSLRQDO PRGXO GH aliniere (la stânga, la dreapta sau centrat), iar alinieUHD QX VH UHDOL]HD] dHFkW SHQWUX SDUDJUDIXO vQ FDX] üL QX DUH HIHFW DVXSUD FHORUODOWH SDUDJUDIH (context loFDO
  • 143. 1XPHOH DWULEXWHORU VH FRQIRUPHD] DFHORUDüL UHJXOL DSOLFDWH vQ FD]XO HOHPHQWHORU $WULEXWHOH YRU DSUHD GRDU vQ FDGUXO tag-ului de start. Pentru exemplele de mai sus, în cazul antologiei se poate specifica data XOWLPHL DFWXDOL]UL üL FRRUGRQDWRUXO LDU SHQWUX OLVWD DXWRULORU Sutem asocia R DEUHYLHUH RSLRQDO DILOLHULL antologie coordonator=Sabin Buraga data=Oct 2006 ... /antologie afiliere abreviere=FII!)DFXOWDWHD GH ,QIRUPDWLF GLQ ,DúLDILOLHUH! Atribute XML predefinite 6SHFLILFDLD ;0/ SXQH OD GLVSR]LLH GRX DWULEXWH SUHGHILQLWH 3ULPXO VH UHIHU OD VSHFLILFDUHD UHJXOLORU SULYLWRDUH OD VSDLLOH DOEH ÍQ PRGHODUHD XQRU GDWH HVWH XQHRUL QHFHVDU DSDULLD VSaLLORU DOEH FRQVWLWXLWH GLQ VSDLL tab-XUL OLQLL YLGH HWF
  • 144. ÍQ XQHOH FRQWH[WH SURFHVDUHD WUHEXLH V VH UHDOL]H]H FX SVWUDUHD DFHsWRU VSDLL DOEH GH H[HPSOX vQ FD]XO H[SULPULL codului-VXUV VDX vQ FHHD FH SULYHüWH SURGXFLLOH OLULFH
  • 145. 8Q Dtribut special, numit xml:space, poate fi inserat în documente pentru a specifica faptul F vQ FDGUXO HOHPHQWXOXL vQ FDUH DSDUH DFHVW DWULEXW VSDLLOH DOEH V ILH tratate în mod semnificativ. Valorile acestuia pot fi default sau preserve. De exemplu, pentru a specifica un text preformatat am putea scrie: pre xml:space=preserve.../pre. $O GRLOHD DWULEXW VHUYHüWH SHQWUX LGHQWLILFDUHD OLPELL vQ FDUH HVWH SUHFL]DW XQ FRQLQXW WH[WXDO 8Q H[HPSOX HVWH XUPWorul: p xml:lang=en-GBAny colour you like/p p xml:lang=en-USAny color you like/p quote author=Sainte-Beuve xml:lang=frIl n'y a que de vivre; on voit tout et le contraire de tout./quote Suplimentar, prin intermediul atributului xml:id, SUHFL]DW GH VSHFLILFDLD GHVFULV GH 0DUVK 9HLOODUG üL :DOVK
  • 146. ILHFUXL HOHPHQW ;0/ L VH SRDWH asociat un identificator unic, servind în principal pentru realizarea de
  • 148. vQWUH IUDJPHQWH GH FRQLQXW 'H H[HPSOX vQ contexWXO ;+70/ SUHFL]P – prin name (din HTML), id (dLQ ;+70/
  • 149. üL xml:id – XQ LGHQWLILFDWRU SHQWUX R OHJWXU LnWHUQ a xml:id=examen id=examen name=examen/a ... a href=#examenDespre examen/a 5HIHULQHOHODHQWLWL 5HIHULQHOH OD HQWLWL FRQVWLWXLH GH IDSW SRLQWHUL FWUH HQWLWL ÍQ ;0/ enti- WLOH UHSUH]LQW XQLWL GH WH[W XQGH R XQLWDWH SRDWH GHVHPQD RULFH GH OD XQ VLQJXU FDUDFWHU OD XQ vQWUHJ GRFXPHQW VDX FKLDU R UHIHULQ OD XQ DOW document. 2 UHIHULQ OD R HQWLWDWH SUH]LQW FRQVWUXFLD VLQWDFWLF nume_entitate; (caracterul „µ XUPDW GH QXPHOH HQWLWLL DSRL GH FDUDFWHUXO ŵ
  • 150. 8QD GLQWUH FHOH PDL IUHFYHQWH XWLOL]UL DOH UHIHULQHORU OD HQWLWL HVWH DWXQFL FkQG VH GRUHüWH IRORVLUHD XQRU FDUDFWHUH FDUH DU FRQGXFH OD HURUL GH SURFHVDUH üL GHFL FDUH QX DU WUHEXL V DSDU vQ IRUPD ORU QRUPDO vQ WH[W ÍQ PRPHQWXO vQ FDUH VH vQWkOQHüWH UHIHULQD OD R HQWLWDWH vQ GRFXPHQW DFHDVWD VH YD VXEVWLWXL FX GDWHOH SH FDUH OH UHIHU üL VH YD UHWXUQD GRFXPHQWXO FX vQORFXLULOH Icute. 7DEHOXO GH PDL MRV LOXVWUHD] HQWLWLOH SUHGHILQLWH GH VSecifiFDLD ;0/ 7DEHOXO (QWLWLOH SUHGHILQLWH GH ;0/ %UD et al., 2004a) Entitate 5HIHULQD OD HQWLWDWH lt; gt; amp; ' apos; quot; 6HFLXQLOHGHPDUFDUH 2FD]LRQDO DQXPLWH SUL DOH GRFXPHQWXOXL QHFHVLW XQ WUDWament special în ceea FH SULYHüWH PRGXO GH SURFHVDUH $VWIHO H[LVW SRVLELOLWDWHD IRORVLULL VHFLXQLL '$7$ character data), cu UROXO GH LQKLEDUH D SUHOXFUULL FRQVWUXFLLORU ;0/ 6HcLXQLOH '$7$ SRW IL LQVHUDWH RULXQGH SRW DSUHD üL GDWHOH GH WLS FDUDFWHU (OH VXQW XWLOL]ate
  • 151. Modele de date semistructurate. Familia XML 43 SHQWUX D LQFOXGH EORFXUL GH WH[W FRQLQkQG FDUDFWHUH FDUH DOWIHO DU IL recunoscute ca marcaje. Acest aspect devine important atunci când documentul include, de exemplu, linii de cod-VXUV VFULVH vQWU-un limbaj de proJUDPDUH FDUH DUH SURSULLOH FRQYHQLL sintactice. 6LQWD[D JHQHUDO D VHFLXQLL '$7$ DUH IRUPD ![CDATA[ ... ]]. În LQWHULRUXO VHFLXQLORU '$7$ QX WUHEXLH V DSDU üLUXO Å]]µ IU V ILH XUPDW de „µ 'H DVHPHQHD VHFLXQLOH '$7$ QX SRW IL LQFOXVH XQHOH vQ DOWHOH Un prim exemplu repreziQW XQ IUDJPHQW GLQ ILüLHUXO inetpref.xml, folosit SHQWUX VSHFLILFDUHD LQWHUIHHL FX XWLOL]DWRUXO D DVLsWHQWXOXL GH FXWDUH Search Companion a resurselor Internet inclus de Windows XP: Label TopMargin=8 Group=1 Text![CDATA[Select the default search engine:]]/Text /Label ÍQ H[HPSOXO XUPWRU QX GRULP FD SURFHVRUXO ;0/ V LQWHrpreteze codul -DYD6FULSW R FRPSOLFDLH H JHQHUDW GH DSDULLD RSHUDWRUXOXL UeODLRQDO Å!µ
  • 152. script type=text/javascript /*![CDATA[*/ if (vizite 10) { // vizitator fidel document.write (pSalut iar!/p); } /*]]*/ /script ,QVWUXFLXQLOHGHSURFHVDUH ,QVWUXFLXQLOH GH SURFHVDUH UHSUH]LQW XQ WLS VSHFLDO GH PDrFDM FDUH FRQLQH LQIRUPDLL SULYLWRDUH OD DQXPLWH DSOLFDLL FH XUPHD] D IL H[HFXWDWH SHQWUX procesaUHD FRQLQXWXOXL ,QVWUXFLXQLOH GH SURFHVDUH VXQW SUHIL[DWH GH FRQVWUXFLD Å?µ XUPDW GH QXPHOH DSOLFDLHL üL GH R VSHFLILFDUH D XQRU GDWH VSHFLILFH DFHOHL DSOLFDLL OD ILQDO Gelimitate de „?”. 1XPHOH DSOLFDLHL GLQ LQVWUXFLXQHD GH SURFHVDUH WUHEXLH V ILH GLIHULW GH xml, XML sau orice alt mod de a scrie cu litere mari sau mici termenul „xmlµ 'XS FXP VH SRDWH UHPDUFD GHFODUDLD ;0/ HVWH WRW R LQVWUXFLXQH de procesare, fiind utili]DW GH SURFHVRUXO ;0/ În exemplul de mai jos, analizorul XML ar putea invoca interpretorul 3+3 SHQWUX H[HFXLD SURJUDPXOXL VSHFLILFDW vQ FDGUXO XQXL GRFXPHQW script ?php echo pSalut!n/p; ? /script
  • 153. Tehnologii XML44 'H DVHPHQHD YLD LQVWUXFLXQL GH SURFHVDUH VH SRW DVRFLD IRL GH VWLOXUL 66 SHQWUX UHGDUHD FRQLQXWXOXL XQXL GRFXPHQW ;0/ GHWDOLL üL vQ %XUDJD 2001): ?xml:stylesheet type=text/css href=stil.css ? 8UPWRDUHD H[HPSOLILFDUH VSHFLILF PRGXO GH FRQWURO DO JHQHUULL codului-VXUV vQ ;63 Extensible Server Pages) via procesorul Apache Cocoon: ?cocoon-process type=xsp ? 8Q XOWLP H[HPSOX VH UHIHU OD IRORVLUHD XQRU GLUHFWLYH GH SURFHVDUH vQ cadrul platformei Adobe XMP (Extensible Metadata Platform): ?xpacket begin='...' id='W5M0MpCehiHzreSzNTczkc9d'? 2.4. Familia XML /LPEDMXO ;0/ RIHU PDL PXOW GHFkW R VLQWD[ FRPRG SHQWUX UHSUH]HQWDUHD GDWHORU VWUXFWXUDWH VDX VHPLVWUXFWXUDWH ;0/ FRQVW GLQWU-o familie de limbaje bazate pe XML pentru reprezentarea dateORU üL UHODLLORU GLQWUH HOH $FHDVW IDPLOLH GH OLPEDMH PHQLWH D DGDSWD FRQFHSWHOH FXUHQWH GH stocare, modHODUH üL SXEOLFDUH SH :HE D GDWHORU HVWH FRPSXV GLQ • XML (Extensible Markup Language) – VXEVHW DO VSHFLILFDLHL 6*0/ FRQFHSXW SHQWUX R LPSOHPHQWDUH PDL XüRDU %UD et al., 2004a; Bray et al. E %UD +ROODQGHU üL /DPDQ
  • 154. 0RGDOLWLOH GH validare sunt concretizate de schemele XML, specificate în Fallside üL :DOPVH
  • 155. • XLL (Extensible Linking Language) – oferind suport pentru specifi- FDUHD GH OHJWXUL KLSHUWH[W FRQFUHWL]DW vQ GoX FRPSRQHQWH PDMRUH – XLink – conceput pentru descrierea legWXULORU VLPSOH VDX PXOWLSOH
  • 156. GLQWUH UHVXUVHOH :HE 'H5RVH 0DOHU üL 2UFKDG 2001; DeRose et al., 2005); – XPointer – DUH FD VFRS SUHFL]DUHD vQ PDQLHU H[WHQVLELO D unor scheme de adresare a datelor XML (Grosso et al., 2003); • XSL (Extensible Stylesheet Language) – permite transformarea documentelor XML în alte tipuri de documente (XML, XHTML, WML etc.) – YH]L ODUN
  • 157. üL .D
  • 158. – üL DWDüDUHD XQRU obiecte de formatare (Adler et al., 2001; Berlung, 2006), în vederea UHGULL FRQLQXWXOXL ;0/ vQ IRUPDWH precum PDF; • XQuery – vPSUHXQ FX OLPEDMXO ;3DWK ODUN üL 'H5RVH Berlung et al.
  • 159. RIHU SRVLELOLWDWHD LQWHURJULL GRFXPHQWHORU XML (detalii în Boag et al., 2005).