Guest dizzy Posted January 6, 2012 Share Posted January 6, 2012 Ce...? XSLT (eXtensible Stylesheet Language Transformations) este un limbaj care permite transformarea structurii unui document XML. Aceasta definitie sumara ne face sa ne intrebam imediat despre ce fel de transformari este vorba. Ei bine, XML-ul este un limbaj de structurare si reprezentare a datelor prin intermediul caruia se pot transmite informatii intre aplicatii si a ajuns sa fie folosit pe scara larga atat datorita faptului ca satisface doua cerinte foarte importante de proiectare si ne referim aici la:separarea datelor de reprezentare (separarea informatiei de detaliile legate de modul in care aceasta va fi reprezentata pe si prelucrata de o anumita masina de calcul)transmiterea de date intre aplicatii cat si usurintei cu care poate fi inteles si editat de catre utilizatori prin intermediul unui simplu editor de texte, fapt ce nu ii pericliteaza cu nimic scopul principal: comunicarea intre sisteme software. Cu toate acestea, fie ca informatia este folosita in ultima instanta de un utilizator sau de o aplicatie software, ea poate fi folosita foarte rar direct in formatul in care ajunge. Spre exemplu, pentru a usura interactiunea cu un utilizator uman care doreste fie sa citeasca, fie sa printeze informatia, documentul XML necesita o conversie sub forma unui document care poate fi fie un fisier HTML, fie unul PDF. In cazul aplicatiilor, pentru transferul de date intre acestea este necesara transformarea unui model de date folosit intr-una din ele intr-un model folosit de cealalta. O aplicatie poate avea nevoie de date sub forma unui sir de valori separate prin virgule, a unui script SQL, a unui mesaj HTTP sau a unei secvente de comenzi pentru o interfata programabila specifica, neputand folosi direct datele in format XML, asa cum i-au parvenit . Cam acestea ar fi transformarile la care ne refeream in prima fraza a articolului. Toate se pot realiza cu ajutorul XSLT, acesta fiind insa folosit cu precadere pentru conversia XML in format HTML. De ce...? Celor care nu sunt inca lamuriti de ce a fost nevoie si de un astfel de limbaj pentru programarea web le propun o analogie intuitiva intre XSLT si SQL. intr-o baza de date relationala, datele constau intr-un set de tabele. Luate ca entitati de sine statatoare, acestea folosesc doar la stocarea datelor, care ar putea fi facuta folosind cateva fisiere text care contin valorile din tabele separate prin virgule. Puterea bazelor de date relationale nu vine insa din modul in care sunt structurate datele, ci din limbajul care le proceseaza, SQL. Analog, XML defineste numai un mod de structurare a datelor, fara un mecanism de manipulare a acestora, de aceasta ocupandu-se XSLT-ul. Se poate spune asadar ca XSLT este pentru XML ceea ce reprezinta SQL pentru bazele de date relationale, ceea ce lamureste intru totul nevoia si importanta existentei acestui limbaj. Cum...? Va intrebati acum probabil cum proceseaza XSLT documentele XML pentru a le converti in formatul cerut. Acest proces contine 2 aspecte:o transformare structurala - datele sunt convertite din XML intr-o structura care reflecta formatul doritformatarea - noua structura este adusa in formatul cerut (HTML, PDF etc.) In XSLT transformarile cerute pot fi exprimate ca un set de reguli pentru a defini ce fel de iesiri trebuie generate cand la intrare apare un anumit sir de sabloane particulare. Limbajul este declarativ, in sensul ca se descrie transformarea necesara, in locul oferirii unor secvente de instructiuni procedurale care sa fie folosite la obtinerea acesteia. XSLT descrie transformarea ceruta, pentru ca apoi sa se bazeze pe procesorul XSL sa decida cea mai eficienta modalitate de a o realiza. XSLT se bazeaza pe un parser (DOM sau SAX) care converteste documentul XML intr-o structura arborescenta, XSLT-ul urmand sa maipuleze aceasta structura arborescenta de reprezentare a XML-ului si nu documentul in sine. Daca ati mai lucrat cu DOM-ul, sunteti obisnuiti cu ideea de a trata fiecare articol (element, atribute, instructiuni de procesare) dintr-un document XML ca pe un nod. XSLT pune la dispozitie un limbaj de nivel inalt care permite navigarea pe un arbore de noduri, selectarea unor noduri specifice precum si operatii foarte complexe de manipulare a acestor noduri. Exista mai multe procesoare XSLT dintre care amintim: Saxon, xt si Microsoft MSXML3. Articolul de fata isi propune sa formeze doar o prima impresie cititorului despre acest puternic limbaj. Daca vi s-a parut interesant acest prim contact si vreti sa aflati mai multe despre XSLT sau chiar sa il folositi la programarea propriilor aplicatii, o puteti face accesand urmatoarele resurse: "XSL - w3 schools""Informatii XSL""XSL""XML - site oficial""XML - Microsoft" Link to comment Share on other sites More sharing options...
Recommended Posts