Você está na página 1de 12

smaranda.belciug@inf.ucv.

ro Laborator 4 Tehnologii Web si Programare Client Server

XML eXtensible Markup Language XML folosete tag-uri pentru a eticheta, a clasifica i a organiza informaii ntr-o manier specific. XML-ul este foarte flexibil. Poi s-i creezi singur markup-ul pentru a se potrivi mai bine cu datele tale sau cu documentul dorit. i asta nu este tot!! Cu XML poi trimite (outputting) aceeai informaie n mai multe locaii fie unei persoane care folosete telefonul mobil, fie unei persoane care folosete un browser Web n acelai timp!! Evident, informaia poate fi afiat n funcie de dispozitivul folosit.

smaranda.belciug@inf.ucv.ro

XML -

(eXtreMely cooL)

HTML i XML sunt derivate din SGML (Standard Generalized Markup Language). Spre deosebire de HTML, XML nu are tag-uri predefinite, dar totui exist reguli pentru sintaxa unui document XML. Unul dintre avantajele XML-ului este acela c separa automat datele de context (prezentare). Un document XML nu include instruciuni despre cum vrem s fie afiat coninutul definete doar structura documentului. Se pot aduga stiluri ntr-un document separat (stylesheet). XML poate fi combinat cu dou tipuri de stylesheet-uri - Cascading Style Sheets (CSS) i/sau Extensible Stysheet Language Transformations (XSLT). XML se poate folosi la orice.. de la afiarea unor formule chimice, pn la crearea unui arbore genealogic. Clasificarea informaiei Cnd folosim XML clasificm informaii. S ne imaginm c vindem cri. Crile pot fi clasificate n multe feluri, dar s presupunem c avem urmtoarea schem de clasificare: Titlu Autor Editura Pret Tip (ficiune, non-ficiune) Format (coperta cartonat, copert necartonat) ISBN i acum codul.... <book> <title>On the road</title> <author>Jack Kerouac</title> <publisher>Polirom</publisher> <price>45RON</price> <contentType>Nonfiction</contentType> <format>Paperback</format> <isbn> 9736813274</isbn> </book> In acest mod putem crea liste cu toi autorii, cu toate titlurile, cu toate ISBN-urile etc. n exemplele care urmeaz o sa ne imaginm acum c deinem un lan de librrii.

smaranda.belciug@inf.ucv.ro

Crearea de reguli XML i permite s defineti reguli pentru formatarea datelor. De exemplu, n cazul librriei: o moneda unic pentru preuri un format unic pentru ISBN genul s fie restricionat la ficiune sau non-ficiune (Fiction sau Nonfiction) formatul s fie restricionat la Paperback sau Hardback Cuvinte specifice limbajelor markup attribute o caracteristic a unui element. <book location = ElectroMall>Bla Bla</book> - n acest caz, coninutul elementului book este Bla Bla, iar atributul (location) are valoarea ElectroMall. Document Type Definition (DTD) este un standard de reguli pentru un document XML bazat pe SGML, care specific ce elemente i ce atribute sunt permise n document. DTD-ul determin i ordinea n care pot sau trebuie s apar elementele i atributele. Element o seciune dintr-un document, definit de tag-uri Metalanguage un limbaj folosit pentru a comunica informaii despre un limbaj. Nesting child element parent elements Schema - un standard de reguli care arat cum un document XML i modeleaz i definete elementele, atributele i relaiile dintre elemente. Syntax reguli care guverneaza sintaxa XML Tag; empty tag Valid un document este valid dac respect regulile date de schema su de DTD Well formed- un document este well formed dac este usor de interpretat de un computer

smaranda.belciug@inf.ucv.ro

Frumuseea XML-ului

Ce nu este XML? Nu se folosete doar la paginile Web Nu este o baz de date Nu este un limbaj de programare Folosind XML putem s importm, exportm sau s modificm forma datelor ntr-un format XML. De exemplu: Ai datele n spreadsheet-uri? Poi s trasformi datele n XML format prin crearea unei scheme XML pentru date i apoi folosind schema respectiv n Excel pentru a crea o hart care conecteaz datele din fiecare celul din spreadsheet cu schema. Putem exporta fiierul spreadsheet ca document XML. Ai datele n tabele ntr-o baz de date? Ele se pot importa i converti din MySQL, Microsoft SQL Server, Access, Oracle etc. n XML. XSLT T = Transformations - transform un document XML obinuit ntr-un format mai complex, gen tabel sau index. SOAP este un limbaj XML folosit pentru comunicarea dintre o pagin Web i o aplicaie Web service.

smaranda.belciug@inf.ucv.ro Este foarte important ca markup-ul vostru s se potriveasca perfect cu coninutul precum: (a) piesele de puzzle (b) ciocolata i cafeaua sau (c) mna cu mnua. nainte de a v apuca s creai documentul XML trebuie s studiai foarte bine coninutul i s creai o taxonomie (o schem de nume). Practic coninutul se sparge n categorii i subcategorii (content analysis sau information analysis). Cnd ne vom referi la termenul de componente, ne referim la tipuri de date de genul: titlu, autori, descriere etc. Trebuie s stabilii ce date sunt importante, ce date nu sunt necesare sau sunt opionale. Exemplu Librrie Crile pot fi clasificate n mai multe feluri: o Autor o Titlu o Data publicrii o Editur o Ediie o Limb o Numr de pagini o Mrime o Tip: ficiune, non-ficiune o Gen: istorie, fantezie, biografie, mister... etc. o Caracteristici speciale: poze, hrtie special, ornamente etc. o Format: coperta necartonat, copert cartonat, audio, nou, veche o Pre: ntreg, reducere o ISBN Informaii despre client o Prenume o Nume o Adres o Ora o Jude o Cod potal o Adres de e-mail o Numr de telefon Informaii legate de vnzare o Data o Numrul obiectului cumprat o Preul o Preul total Toate informaiile de mai sus vor duce la o structur foarte complex. Aa c, dup ce le-am enumerat pe toate, trebuie s le eliminm pe cele neimportante. Aa arat dup reducere datele noastre:

smaranda.belciug@inf.ucv.ro Carte o Numr de nregistrare o Titlu o Autor o Editur o Pre o Tip o Format o ISBN Vnzri o Numr de nregistrare o Pre o Mod de livrare o Cost total o Data o Surs Client o Numr client o Prenume o Nume o Adres o Ora o Jude o Cod potal o Adres de e-mail o Numr de telefon Exemplu. Iniial am folosit tipul nested... <book> <contentType>Fiction</contentType> </book> Dar acum vom transforma elementul contentType n atribut al elementului book, astfel: <book contentType = Fiction/> De ce? Pentru ca am vrut s predefinim numele de categorii i s impunem ca un document valid s aleag unu nume din list.

smaranda.belciug@inf.ucv.ro

Anatomia fiierului XML Fie ca este vorba de elemente ce descriu o formul chimic complex, fie ca este vorba despre cri, un fiier XML trebuie s respecte un set de baz de reguli.

smaranda.belciug@inf.ucv.ro

Dac atributul standalone are valoarea yes atunci documentul nu este dependent de alt document pentru a fi complet. Dup anatomia fiierului se observ c acesta arat ca un arbore genealogic. Avem: Parent element un element devine printe n momentul n care conine alte elemente Child element un element care este coninut de un element printe Sibling element cnd un printe are mai mult de un descendent, acei descenteni sunt frai/surori. Ei ocup acelai nivel n ierarhia documentului. Maparea relaiilor Folosirea structurii de arbore genealogic este o metod bun de a mapa ierarhia documentului i de a privi relaiile dintre elemente.

smaranda.belciug@inf.ucv.ro n primul draft al markup-ului nostru se observ o problem n structura familiei noastre: totalCost este descendentul elementului sales. Deoarece vrem s avem mai multe cri incluse n document, i deoarece fiecare carte are un pre (plus preul livrrii), totalCost nu merge s fie descendentul elementului sales. Trebuie s-l scoatem din sales i sa-l facem element separat, astfel:

Deoarece fiecare carte include informaii despre ea nsi (titlu etc.) am adugat o categorie bookInfo. Am schimbat numele din sales n salesInfo. Noul draft arat astfel:

smaranda.belciug@inf.ucv.ro Adugarea atributelor Pentru ca alegerea atributelor ce trebuie adugate s fie mai uoar, trebuie s rspundei la urmtorul chestionar: Se definete un aspect particular al unui element, precum mrime, nlime, sau culoare? Este nevoie de informaii suplimentare pentru instanele individuale ale unui element? Trebuie de fiecare dat cnd elementul este folosit s fie inclus o anumit informaie? Se observ c elementele contentType i format sunt atribute candidat. Putem s le adugm astfel: <book contentType = Fiction format = Hardback> Pe lng atributele: priceType, sourceType, am adugat i custType care ne arat dac un client este nou sau nu. Dup analiza coninutului, crearea markup-ului i testarea markup-ului am reuit s crem un document XML potrivit datelor noastre. (bookstore.xml).

10

smaranda.belciug@inf.ucv.ro

Well-Formed XML XML este foarte flexibil, sintaxa lui nu. Cum computerelor le plac datele care respect reguli, n continuare vor fi prezentare alte reguli pentru formatarea documentelor XML: Este nevoie de o declaraie XML. Prima linie din fiecare document XML este o simpl declaraie care specific faptul c acel document este un document XML. n forma sa cea mai simpl ea arat astfel: <?xml ?> Este nevoie de un element rdcin (root element) care s conin toate celelalte elemente. Dc deschidem un element cu un tag, trebuie s ne asigurm c l i nchidem cu un tag. Elementele empty trebuie s se nchid cu slash (/). <source sourceType = Retail/> Tag-urile trebuie s fie incluse unele n altele corect. ntotdeauna se nchide prima dat tag-ul care a fost deschis ultimul. Toate valorile atributelor trebuie scrise ntre ghilimele. Tag-urile trebuie scrise ntre <>. XML i CSS Mai jos este codul pentru afiarea elementului title din bookstore.xml.

Tot fiierul bookstore.css este listat mai jos.

11

smaranda.belciug@inf.ucv.ro

XML + XSLT = XHTML

12

Você também pode gostar