Varianta electronică a volumului "Tehnologii XML" de Sabin Buraga (416 pagini, ISBN 973-46-0249-7) prezentând cele mai importante tendințe în utilizarea, proiectarea, procesarea și conceptualizarea datelor prin suita de tehnologii XML (Extensible Markup Language). Subiectele atinse includ diverse aspecte ale familiei XML și soluțiile pentru modelarea și stocarea conținutului semi-structurat.
Alte detalii la http://profs.info.uaic.ro/~busaco/books/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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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