61
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/

Web - XSLT 2

Embed Size (px)

Citation preview

Page 1: Web -  XSLT 2

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 2

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

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

Marcarea datelor pentru <Web />

Partea III: Transformari XML (2)

Detalii in [TX, 87‐102]

Page 3: Web -  XSLT 2

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

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

“Faceti ceva si daca nu merge incercati altceva.”

Franklin Delano Roosevelt

Page 4: Web -  XSLT 2

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)

EXSLT, XSL‐FO, XPath 2.0, XSLT 2.0

cuprins

Page 5: Web -  XSLT 2

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

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

EXSLT (Extensions to XSLT)Scop: module (extensii) ale XSLT,oferind functionalitati suplimentare

Implementarile EXSLT pot fi realizatedirect in XSLT sau in alte limbaje

Detalii lawww.exslt.org

exslt

Page 6: Web -  XSLT 2

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

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

Procesoare XSLT care implementeaza EXSLT:

libXSLT – C, Perl, PHP5, Python, Ruby,...Saxon – Java, .NETXalan – C++, Java

exslt

Page 7: Web -  XSLT 2

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

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

Extensiile sunt modularizate:Common – functionalitati comuneMath – facilitati pentru calcule matematiceSets – lucru cu multimiStrings – operatii cu siruri de caractereDates & Times – lucru cu date calendaristiceRegexps – suport pentru expresii regulate Functions – suport pentru definirea de functiiDynamic – evaluare dinamica a sirurilorcontinind expresii XPath

Random – suport pentru numere aleatoare

exslt

Page 8: Web -  XSLT 2

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

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

Pentru a folosi un modul EXSLTintr‐un document XSLT,

se va recurge la spatiile de nume corespunzatoare:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:sets="http://exslt.org/sets">

...</xsl:stylesheet>

exslt

Page 9: Web -  XSLT 2

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

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

In vederea prevenirii includerii elementelorcorespunzatoare spatiilor de nume EXSLT 

in arborele generat la iesire,se va utiliza constructia

exclude-result-prefixes

exslt

Page 10: Web -  XSLT 2

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

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

Spatiul de nume: http://exslt.org/mathFunctii de baza: 

math:min, math:max, math:highest, math:lowestFunctii suplimentare: 

math:abs, math:sqrt, math:power, math:log, math:exp, math:random, math:sin, math:cos, math:tan, math:asin, math:acos, math:atan etc. 

exslt: modulul Math

Page 11: Web -  XSLT 2

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

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

Spatiul de nume: http://exslt.org/setsFunctii de baza: 

sets:difference, sets:intersection, sets:distinct, sets:has-same-node, sets:leading, sets:trailing

exslt: modulul Sets

Page 12: Web -  XSLT 2

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

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

Spatiul de nume: http://exslt.org/stringsFunctii de baza: 

str:tokenize, str:replace, str:concat, str:split, str:align, str:encode-uri, str:decode-uri,...

exslt: modulul Strings

Page 13: Web -  XSLT 2

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

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

Spatiul de nume: http://exslt.org/dates‐and‐times

Functii de baza: date:date-time, date:date, date:time, date:year, date:month-in-year, date:month, date:day-name, date:hour-in-day, date:minute-in-hour,...

Functii suplimentare: date:format-date, date:add, date:sum, date:difference, date:seconds etc.

exslt: modulul Dates & Times

Page 14: Web -  XSLT 2

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

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

Spatiul de nume: http://exslt.org/regular‐expressions

Functii de baza: regexp:test, regexp:match, regexp:replace

exslt: modulul Regular Expressions

Page 15: Web -  XSLT 2

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

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

!!

exsl: demo

Page 16: Web -  XSLT 2

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

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

XML (Extensible Markup Language)Formatari XSL‐FO

(Extensible Stylesheet Language Formatting Objects)

CaracterizareInginerie

Concepte & elemente de bazaProcesoare

cuprins

Page 17: Web -  XSLT 2

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

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

Scop: oferirea de facilitati de formatare avansataa continutului documentelor XML

(e.g., in vederea tipaririiconform standardelor industriale in vigoare)

Se poate utiliza in conjunctie cu XSLT

Standard al Consortiului Web: www.w3.org/TR/xsl/

xsl‐fo

Page 18: Web -  XSLT 2

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

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

Dat fiind un arbore de noduri XML, via XSL‐FO se pot atasa proprietati de formatarepaginata – conform unui mediu de redare –, 

astfel incit infoset‐ul rezultat sa poata fi prezentatutilizatorului pe ecranul unui dispozitiv(PC, handheld,...) ori listat pe hirtie

(in diverse formate: carte, brosura, catalog,...)

xsl‐fo: procesare

Page 19: Web -  XSLT 2

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

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

Acest proces este divizat in operatiile de:transformare (realizata de XSL Transformer) si

formatare (efectuata de XSL Formatter)

Nu este obligatoriu ca transformareasa fie proces separat de cel de formatare

xsl‐fo: procesare

Page 20: Web -  XSLT 2

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

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

Cunoasterea structurii documentului oridocumentelor XML de intrare

Specificarea unei/unor forme de redare(afisare, listare,...) si a unui format dorit(XHTML, SVG, PDF, Postscript,...)

Selectarea obiectelor de formatarein concordanta cu modul de redare dorit

Reutilizarea/conceperea documentelor XSLOptimizarea foilor de stiluri XSL folositeCompilarea foilor de stiluri concepute

xsl‐fo: inginerie (metodologie de lucru)

Page 21: Web -  XSLT 2

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

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

DocumentRezultatul final obtinut in urma formatariiDivizat, din punct de vedere logic, in 3 parti majore:Front matter – pagina de titlu, dedicatie, prefata, cuprins, lista figurilor etc.(parte tipica pentru o carte)Main matter (corpul) – obligatoriuBack matter – index, glosar, bibliografie, colofon,... (parte tipica pentru o carte)

xsl‐fo: concepte

Page 22: Web -  XSLT 2

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

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

Aranjament (layout)Corespunzator unui set de paginiFoloseste sabloane de pagina (page template)

xsl‐fo: concepte

Page 23: Web -  XSLT 2

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

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

Fluxul paginarii (page flow)Proces de generare a fiecarei pagini, in functie de aranjament, de mediul de redaresi de clasa de document

Are loc conform proprietatilor de formatarespecificate via obiecte de formatare(formatting objects) atasate continutului XML via foaia de stiluri XSL

xsl‐fo: concepte

Page 24: Web -  XSLT 2

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

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

Pagina – divizata in zone de interes: Partea superioara (before) in general, destinata anteturilor

Partea inferioara (after) uzual, destinata pentru subsoluri

Partea de inceput (start) in mod normal, partea stinga a paginii

Partea de final (end) in mod obisnuit, partea dreapta a paginii

Corpul propriu‐zis (body)

xsl‐fo: concepte

Page 25: Web -  XSLT 2

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

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

xsl‐fo: concepte

Page 26: Web -  XSLT 2

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

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

xsl‐fo: concepte

PaginaPoate fi redata conform unei orientari(e.g., 90% pentru a se genera o pagina landscape)

Page 27: Web -  XSLT 2

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

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

ContinutReprezinta informatia din care este “umpluta” o secventa de pagina

Poate fi considerat static (folosit pentru zonelediferite de corpul paginii) sau de tip flux – flow (apare in corpul paginii)

Este compus din arii (areas) de informatii

xsl‐fo: concepte

Page 28: Web -  XSLT 2

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

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

Arie (area)Descrie structura spatiala a informatiei redate

Poate fi generata de 0, 1 sau mai multe obiectede formatare

Ocupa o zona dreptunghiularain cadrul mediului de redare

xsl‐fo: concepte

Page 29: Web -  XSLT 2

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

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

xsl‐fo: concepte

Page 30: Web -  XSLT 2

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

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

Arie (area)De tip inline – apare in cadrul unui bloc (block)de informatii, avind asociate proprietati ce stabilesclocal modul de redare a continutului

Exemple: imagine precedind un titlu, fragment de text redat ingrosat etc.

xsl‐fo: concepte

Page 31: Web -  XSLT 2

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

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

Arie (area)De tip block – desemneaza informatii separate de reguli de formatare, fiind constituita din ariide tip inline 

Exemple: paragrafe, tabele, liste numerotate,... 

xsl‐fo: concepte

Page 32: Web -  XSLT 2

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

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

Proprietatile de formatare se bazeaza pe celespecificate de CSS; in plus, sunt definite modalitatimai sofisticate de formatare – e.g., generarea delegaturi, de cuprinsuri, de referinte incrucisate, de paginari si spatieri conditionate etc.

Unitatile de masura sunt aceleasi celor de la CSS(cm, mm, in, px, pt, pc, em)

Valorile pot fi absolute ori relative

xsl‐fo: mod de formatare

Page 33: Web -  XSLT 2

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

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

Rezultatul formatarii depinde, de cele mai multe ori, de procesorul XSL‐FO utilizat

Formatele de redare uzuale:PDF (Portable Document Format)

PostscriptRTF (Rich Text Format)

xsl‐fo: mod de formatare

Page 34: Web -  XSLT 2

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

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

Elementele XSL‐FO trebuie sa apartina spatiuluide nume indicat de URI‐ul

http://www.w3.org/1999/XSL/Format

Un document XSL‐FO are ca element radacina<fo:root>

xsl‐fo

Page 35: Web -  XSLT 2

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

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

Aranjamentul paginilor este determinatde <fo:layout-master-set>

Fiecare secventa de pagini va fi definitaprintr‐un <fo:page-sequence> care va specifica

si modul de generare a continutului:<fo:flow> si <fo:static-content>

xsl‐fo

Page 36: Web -  XSLT 2

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

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

Proprietatile generale ale paginii se definescprin elementul <fo:simple-page-master>, iar zonele de pagina via <fo:region-body>, 

<fo:region-before>, <fo:region-after> etc.

Ariile de tip bloc se specifica prin <fo:block>, iar cele inline cu <fo:inline>

xsl‐fo

Page 37: Web -  XSLT 2

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

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

Continuturile tabelare se includ cu elementele<fo:table>, <fo:table-column>, <fo:table-row>,

<fo:table-cell>, <fo:table-caption>,...

Continuturile grafice se insereazavia elementul <fo:external-graphics />

<fo:external-graphic content-height="1cm" content-width="2cm" src="url(images/csb.png)" />

xsl‐fo

Page 38: Web -  XSLT 2

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

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

Continuturile de tip lista se specificaprin <fo:list-item>, <fo:list-item-label>,

<fo:list-item-body>

Legaturile hipertext pot fi definite via <fo:basic-link>

xsl‐fo

Page 39: Web -  XSLT 2

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

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

Notele de subsol se exprimaprin <fo:footnote> si <fo:footnote-body>

Specificarea de proprietati de formatarela nivel de caracter – e.g., pentru generarealetrinelor – se face prin <fo:character />

xsl‐fo

Page 40: Web -  XSLT 2

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

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

Alte tipuri de continuturi (e.g., SVG) pot fi inclusecu <fo:instream-foreign-object />

xsl‐fo

Page 41: Web -  XSLT 2

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

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

Proprietatile de formatare se specificaprin atribute atasate unor elemente de interes

ca <fo:block> ori <fo:inline>

<fo:block font-size="12pt" font-family="sans-serif" line-height="15pt" text-align="justify">Web</fo:block>

<fo:inline>Vezi remarca <fo:character character="1" baseline-shift="super" font-family="'Arial Narrow'" />

</fo:inline>

xsl‐fo

Page 42: Web -  XSLT 2

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

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

Antenna House Formatter: www.antennahouse.com

Apache FOP (Java): xml.apache.org/fop

Formatting Objects Authoring (Java): foa.sf.net

jfor – Java XSL‐FO to RTF: www.jfor.org

RenderX XEP (Java): www.renderx.com

xsl‐fo: procesoare

Page 43: Web -  XSLT 2

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

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

XSL 1.1Standardizat recent de W3C (2007)http://www.w3.org/TR/xsl11/ Noutati: 

Posibilitatea de a specifica bookmark‐uriPosibilitatea de a preciza flow‐uri multipleAparitia unor constructii noi privitoarela paginare

Scalarea conditionata a continutului graficNumerele de pagina pot avea precizateun prefix si/sau un sufix

Si altele...

xsl‐fo

Page 44: Web -  XSLT 2

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

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

!!

xsl‐fo: demo

Page 45: Web -  XSLT 2

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

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

intrebare

Care este prezentul/viitorultransformarilor XML?

Page 46: Web -  XSLT 2

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

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

Recomandare W3C (2007)

Baza pentru XSLT 2.0 si XQuery 1.0

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

xpath 2.0

Page 47: Web -  XSLT 2

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

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

Opereaza asupra unei structuri logice (abstracte) a documentului XML numita data model:www.w3.org/TR/xpath-datamodel/

Tipurile de date sunt cele specificatede XML Schema

Traversarea documentelor poate utiliza axe noi(following­sibling, preceding­sibling,...)

xpath 2.0: noutati

Vezi cursulviitor

Page 48: Web -  XSLT 2

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

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

Secvente ordonate in loc de seturi de noduri (node­sets)

Secventele pot contine duplicate, dar nu pot fi formatedin sub‐secvente

Se permite si specificarea intervalelor(considerate tot secvente): (8, 10, 1 to 4)

Relativ la secventele de noduri, apar noii operatori union (|), intersect si except

xpath 2.0: noutati

Page 49: Web -  XSLT 2

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

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

Operatorul idiv ofera un rezultat intreg

Comparatiile generale se pot face via =, !=, <, <=, >, >=, iar cele asupra valorilor atomice prin eq, ne, lt, le, gt,respectiv ge

Pentru iterare de secvente, se poate folosi expresia for

for $i in (10, 20), $j in (1, 2)return ($i + $j)

xpath 2.0: noutati

Page 50: Web -  XSLT 2

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

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

Expresiile conditionale pot fi exprimate prin if

if (catalog[@stare = ‘final’]) then student/nota else student/prezente

xpath 2.0: noutati

Page 51: Web -  XSLT 2

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

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

Se permit expresiile cuantificate(precedate de cuantificatorii some ori every)

some $x in (1, 2, 3), $y in (2, 3, 4) satisfies $x + $y = 4

every $x in (1, 2, 3), $y in (2, 3, 4) satisfies $x + $y = 4

xpath 2.0: noutati

Page 52: Web -  XSLT 2

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

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

Pot fi utilizate noi functii specificate dehttp://www.w3.org/TR/xpath-functions/

Apartin spatiului de nume fn desemnat de URI‐ul: http://www.w3.org/2005/xpath-functions

Signatura unei functii este definita prinfn:nume ($parametru as tip, ...) as tip­returnat

E.g.: error() trace() upper-case() lower-case() iri-to-uri() encode-for-uri() root() zero-or-one() one-of-more() exactly-one() avg() min() max() doc() doc-available() etc.

xpath 2.0: noutati

Page 53: Web -  XSLT 2

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

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

Si multe altele…

xpath 2.0: noutati

Page 54: Web -  XSLT 2

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

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

Recomandare W3C (2007)

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

Foloseste XPath 2.0

xslt 2.0

Page 55: Web -  XSLT 2

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

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

Parcurgerea grupurilor de nodurivia constructia <xsl:for‐each‐group>

Specificarea de functii definite de utilizator

Crearea de arbori multipli la iesire(reprezentari multiple ale transformarilor)

Declaratii de tipuri pentru variabile/parametri

xslt 2.0: noutati

Page 56: Web -  XSLT 2

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

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

<xsl:for‐each> poate procesa orice secventade valori (nu doar de noduri)

Criteriul de sortare poate fi specificat de o functie‐utilizator – o secventa sortata poate figenerata cu <xsl:perform‐sort>

Aparitia de functii noi – e.g., formatarea datei

Crearea de noduri de tip spatiu de numevia <xsl:namespace>

xslt 2.0: noutati

Page 57: Web -  XSLT 2

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

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

Si multe altele…

xslt 2.0: noutati

Page 58: Web -  XSLT 2

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

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

Aplicatia de referinta:

Saxon (Java, C#):http://saxon.sourceforge.net/

xslt 2.0: procesoare

Page 59: Web -  XSLT 2

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

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

!!

xslt 2.0: demo

Page 60: Web -  XSLT 2

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

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

rezumat

Transformari XSL:EXSLT, XSL‐FO, XPath 2.0 + XSLT 2.0

Page 61: Web -  XSLT 2

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

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

??