web - xslt

65
Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/ Tehnologii Tehnologii Web Web <?xml version=“1.0” ?> <curs desc=“…” /> Tehnologii Web Dr. SabinCorneliu Buraga Facultatea de Informatica Universitatea “A.I.Cuza” – Iasi, Romania http://www.infoiasi.ro/~busaco/

Upload: sabin-buraga

Post on 28-Nov-2014

1.129 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Tehnologii Web

Dr. Sabin­Corneliu BuragaFacultatea de Informatica

Universitatea “A.I.Cuza” – Iasi, Romania

http://www.infoiasi.ro/~busaco/

Page 2: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Marcarea datelor pentru <Web />

Partea II: Transformari XML

Detalii in [TX, 52‐87]

Page 3: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

“Lemn bun, lemn rau, aceeasi cenusa. Dar nu aceeasi flacara!”

Nicolae Iorga

Page 4: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

XML (Extensible Markup Language)Infoset (XML Information Set)

Transformari XSL (Extensible Stylesheet Language)

cuprins

Page 5: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

intrebare

Cum modelam (reprezentam) datele?

Page 6: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Scop: Specificarea unui model de date (abstract)

pentru XML 

recomandareW3C, 2004

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

xml‐infoset

Page 7: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Se ofera un punct de vedere comun referitor la:serializarea datelor semi‐structurateconstruirea/folosirea de API‐uri de procesare XMLdefinirea unor specificatii de nivel (mai) inalt,precum XPath, XSLT sau XML Schema

xml‐infoset

Page 8: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Modelul asigura inter‐operabilitatea diferitelortehnologii, interfete de programare (API‐uri)

si aplicatii XML

xml‐infoset

Page 9: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Document (document information item)Considerat a fi un arbore, cu radacina data de proprietatea [document element]

Poseda proprietatea [children] oferindo lista de “lucruri” (items), in ordinea data de algoritmul DFS

xml‐infoset: concepte

Page 10: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

ElementSpecifica un element XML

Poseda o proprietate [parent] continindinformatii despre elementul parintecaruia ii apartine

Are asociata proprietatea [children]cu semantica de mai sus

xml‐infoset: concepte

Page 11: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

ElementProprietatea [local name] desemneaza numele local al elementului al carui scop este dat de [namespace name] ce indica URI‐ul spatiului de numefolosit – vid daca nu se specifica spatii de nume

Prefixul spatiului de nume utilizat este stocatde proprietatea [prefix]

xml‐infoset: concepte

Page 12: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

ElementProprietatea [attributes] ofera lista neordonataa atributelor atasate

Proprietatea [namespace attributes] specificalista neordonata a atributelor xmlns asociate

xml‐infoset: concepte

Page 13: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Atribut (attribute)Desemneaza conceptul de atribut XML

Numele si spatiul de nume atasat sunt specificatede proprietatile [local name] si [namespace name],respectiv

xml‐infoset: concepte

Page 14: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Atribut (attribute)Elementul caruia ii apartine este indicatde proprietatea [owner element]

Valoarea propriu‐zisa a atributului este specificatade [normalized value]

xml‐infoset: concepte

Page 15: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Caractere (characters)Corespund informatiilor textuale ale continuturilorelementelor XML

Proprietatea [parent] indica elementul caruiaii apartin

Proprietatea [children] contine datele‐caracterpropriu‐zise

xml‐infoset: concepte

Page 16: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Caractere (characters)Setul de caractere utilizat este desemnatde proprietatea [character code]

Modul de procesare a spatiilor albe este specificatde proprietatea booleana [element content whitespace]

xml‐infoset: concepte

Page 17: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Instructiuni de procesare(processing instruction information item)

Comentarii (comment information item)

Declaratia tipului de document (document type declaration item)

xml‐infoset: concepte

Vezi cursurileviitoare

Page 18: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

xml‐infoset: exemplu

Constructiei<antologie xmlns="http://www.infoiasi.ro/antologii" coordonator="Sabin Buraga" /> ii corespunde infoset‐ul:

Page 19: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Fast Infoset – alternativaScop: specificarea unui format binar pentru InfosetBeneficii: 

(De)serializare si procesare mai rapideDimensiuni mai mici ale datelor XML

Sunt suportate tipurile specificate de XML Infoset

Se ofera, suplimentar, octet information item sidiverse metode de indexare a tablourilor de date

xml‐infoset

avansatavansat

Page 20: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

XML (Extensible Markup Language)Transformari XSL (Extensible Stylesheet Language)

CaracterizareLimbajul XPathLimbajul XSLT

Procesoare & aplicatiiExemple

cuprins

Page 21: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Un document XML separa continutulde maniera de formatare/procesare

Pentru a prezenta utilizatorului datele XML, trebuie specificata o modalitate de redare(asa‐numita foaie de stiluri – stylesheet)

xsl: preliminarii

Page 22: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Solutii:CSS (Cascading Style Sheets)

Sintaxa non‐XML, flexibilitate limitata, nu exista context

XSL (Extensible Stylesheet Language)Sintaxa XML, o mai buna flexibilitate, procesare in functie de context, se pot opera modificari de structura XML,...

xsl: preliminarii

Page 23: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Strategii:1 foaie de stiluri, N documente

Se mentine consistenta formatului (“look & feel”)pentru documente multiple

Usor de dezvoltat, aplicat si controlat (“in house style”)

xsl: preliminarii

Page 24: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Strategii:N foi de stiluri, 1 document

Formatari diferite in functie de mediile de redare(ecran, imprimanta,...) sau de preferinte (e.g., skin‐uri)

Usor de produs documente derivate (interogari “slabe”):selectii, sumarizari, indexari, catalogari,...

xsl: preliminarii

Page 25: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Transformarea structurii si/sau continutuluidocumentelor XML

Rescrierea documentelor XMLdocumente XML/HTML sau alte formate

Inspirat din DSSSL (Document Style Semantics and Specification Language) folosit pentru SGML

xsl: scopuri

Page 26: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Foloseste XPath si XSLT

XSL ≡ limbaj descriptiv bazat pe reguli,orientat‐eveniment

detalii: www.w3.org/Style/

xsl

Page 27: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

XSL‐FOAtasarea de proprietati de formatare vizuala

a continutului documentelor XML Creare de constructii/macro‐uri de formatare

Suport pentru internationalizarePublicare independenta de medii

xsl

Detalii in cursul viitor

Page 28: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

xsl

Transformarea continutului XML

Page 29: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Document XML ≡ arbore de noduri

Tipuri de noduri: Radacina, Elemente, Text, Atribute,

Spatii de nume, Instructiuni de procesare, Comentarii

xsl

vezi siXML Infoset

Page 30: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Reguli compuse din pattern (model) + actiunemodelul este exprimat in Xpathactiunea este specificata in XSLT

Transformarile se aplica recursiv tuturor nodurilor XMLcare satisfac sabloanele de reguli (pattern­matching)

xsl

Page 31: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

XPath 1.0recomandare a Consortiului Web (1999)

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

Adreseaza parti dintr‐un document XMLOfera facilitati de baza pentru manipularea datelor

(siruri, numere,…)Opereaza la nivelul structurii abstracte

a documentelor XML (arborele)

xsl: xpath

Page 32: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

expresia XPath – constructie de baza

evaluarea se realizeaza in functie de context:un nod al documentului XML

pozitieo functie de biblioteca

o declaratie a unui spatiu de nume

xsl: xpath

Page 33: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

expresia XPath – constructie de baza

in urma evaluarii expresiei, e returnat un obiect:o multime de noduri (node­set)o valoare logica (true, false)

un numar (float)un sir de caractere

xsl: xpath

Page 34: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Descendent /

xsl: xpath – operatori

Page 35: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Traversare recursiva //

//capitol//cuprins

xsl: xpath – operatori

Atentie la problemele de performanta!

De ce?

Page 36: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Wildcard *

/cuprins/*/nume

capitol/*

xsl: xpath – operatori

Page 37: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Nodul curent .

./capitol

xsl: xpath – operatori

Page 38: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Atribut@

capitol/@nr

table/@*

xsl: xpath – operatori

Page 39: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Spatiu de nume :

xsl:*

xsl: xpath – operatori

Page 40: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Spatiu de nume ://html:*

xsl: xpath – operatori

Page 41: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Filtru/index [ ]

xsl: xpath – operatori

Page 42: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Pentru booleeni si numere pot fi folositioperatorii uzuali:

or   and   =   !=   <=   <   >=   >+   ‐ *  div   mod

comparatiile de siruri sunt case sensitive!

//capitol[@id="1" or @id="5"]

xsl: xpath – operatori

Page 43: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Axa nodului curent (context node): selfAxa nodului parinte: parentAxa nodurilor copil: childAxa nodurilor descendente: descendentAxa nodurilor de tip atribut: attributeAxa nodurilor spatiilor de nume: namespace

xsl: xpath – axe

Page 44: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Nodurile ascendente: ancestor

Nodurile ascendente ori nodul curent: ancestor‐or‐self

Nodurile descendente ori nodul curent: descendent‐or‐self

xsl: xpath – axe

Page 45: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

self ≡ .parent ≡ .. attribute ≡@namespace ≡ :

../nume//child::*[@nr > 2]

xsl: xpath – sintaxa prescurtata

Page 46: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Noduri: id(), position(), count(), name(),namespace-uri(), last(), …

Tipuri de noduri: node(), text(), comment(), processing-instruction()

Siruri: concat(), starts-with(), contains(), substring(), string-length(), translate(), …

Booleeni: not(), true(), false()Numere: sum(), round(), floor(), number(), …

xsl: xpath – functii

Page 47: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

XSLT (XSL Transformations) 1.0recomandare a Consortiului Web (1999)

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

transforma documentele XMLin alte tipuri de continut (XML, HTML, text etc.)

xsl: xslt

Page 48: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

XSLT (XSL Transformations) 1.0gindit pentru a fi parte din XSL (XSL ≡ XSLT + XSL‐FO)

http://www.w3.org/TR/xslhttp://www.w3.org/TR/xml­stylesheet/

poate fi utilizat independent de XSL

xsl: xslt

Page 49: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Pentru a putea fi folosite, constructiile XSLTtrebuie sa apartina spatiului de nume

desemnat de URI‐ul:http://www.w3.org/1999/XSL/Transform

xsl: xslt

Page 50: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

O foaie de stiluri XSLT are drept element radacina<xsl:stylesheet> sau <xsl:transform>

Include sabloane de transformare,macar un sablon la nivelul radacina

xsl: xslt

Page 51: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Pentru transformare, se utilizeazaexpresii XPath folosite la:selectarea nodurilor dorite a fi procesatespecificarea conditiilor de procesaregenerarea textului de iesire

xsl: xslt

Page 52: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

O lista de noduri sursa este procesatapentru a genera un fragment de arbore

de noduri destinatie (output)

Initial se proceseaza nodul radacina, la care se insereazanoduri copil generate de sabloane aplicate unei listede noduri selectate (recursiv) prin pattern­matching 

– via expresii XPath

xsl: xslt – model de procesare

Page 53: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Reguli de aplicare XSLTRegulile sabloanelor identifica noduri asupracarora se vor aplica transformari

Selectarea nodurilor se face prin XPathUn sablon se defineste prin elementul <xsl:template>Aplicarea unui sablon se realizeazavia <xsl:apply‐templates>

xsl: xslt – model de procesare

Page 54: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Crearea arborelui de iesireIntr‐un sablon, orice elemente ce nu apartin spatiuluide nume XSLT sunt copiate – fara a fi operate modificari – in arborele de iesire

Pot fi generate si alte tipuri de noduri: <xsl:element>, <xsl:attribute>, <xsl:text>, <xsl:comment> etc.

Extragerea unor valori se face via <xsl:value‐of>Controlul iesirii: <xsl:output>

xsl: xslt – model de procesare

Page 55: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

xsl: xslt – model de procesare

Transformarea unui doc. XML, folosind un procesor XSLT:

Page 56: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Programe XSLT Constructii repetitive: <xsl:for‐each>Constructii de test: <xsl:if>, <xsl:choose>, <xsl:when>, <xsl:otherwise>

Copierea nodurilor: <xsl:copy>, <xsl:copy‐of>Sortarea nodurilor: <xsl:sort>Includerea de alte foi de stiluri: <xsl:include>Variabile si parametri: <xsl:variable>, <xsl:param>

xsl: xslt – model de procesare

Page 57: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Remarci:Variabilele – declarate cu <xsl:variable> – au valoriimutabile (valoarea asociata nu se schimbadin moment ce a fost evaluata)

<xsl:variable name="varsta" select="21 + 12" />

xsl: xslt – model de procesare

Page 58: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Remarci:Parametrii – declarati prin <xsl:param> – isi potmodifica ulterior valoarea

Apelarea (invocarea) unui sablon se poate realizacu pasarea de valori ale parametrilorvia <xsl:with‐param>

xsl: xslt – model de procesare

Page 59: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Nodul curent: current()Adreseaza alt document XML: document()Verifica existenta unei functii: function-available()Formateaza valori numerice: format-number()Ofera informatii despre procesorul XSLT:

system-property()

xsl: xslt – functii

Page 60: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Apache Cocoon & Xalan (Xerces) – C, C++, Perl, Java: http://xml.apache.org/

libxslt (C/C++): http://xmlsoft.org/XSLT/Oracle‐JSablotron (C): http://www.gingerall.org/

Perl (modulul XML::Sablotron)Saxon (Java): http://saxon.sourceforge.net/MSXML – invocare prin COM (ActiveX)

xsl: xslt – procesoare (api‐uri)

Page 61: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

.NET Framework + managed languages: XslTransform (1.1), XslCompiledTransform (2.0) din spatiul de nume System.Xml

TrAX (parte din JAXP): http://java.sun.com/XML::XSLT (modul Perl): http://www.cpan.org/

Suport, uneori limitat, in cadrul actualelornavigatoare (clienti) Web – via JavaScript 

xsl: xslt – procesoare (api‐uri)

Page 62: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

Adobe Help Center – sistem de ajutorApache AxKit – mediu de publicare a datelor XML implementat in Perl: http://xml.apache.org/

Apache Forrest – mediu de dezvoltare de situri Web: http://xml.apache.org/

MS InfoPath – editor/procesor de formulareOpen Office – suita de birou<oXygen /> – editor/depanator XSLTXSLT Debugger – depanator XSLT (in KDE)

xsl: xslt – aplicatii (exemple)

Page 63: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

!!

xsl: demo

Page 64: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

rezumat

Extensible Markup Language (XML)

XML Infoset

Transformari XML:punerea problemei, limbajele XPath si XSLT

Page 65: Web - XSLT

Dr. Sabin Buraga http://www.infoiasi.ro/~busaco/

TehnologiiTehnologii WebWeb <?xml version=“1.0” ?><curs desc=“…” />

??