La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico 2006-07.

Presentazioni simili


Presentazione sul tema: "XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico 2006-07."— Transcript della presentazione:

1 XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re barbara.re@unicam.it Anno Accademico 2006-07

2 Barbara Re2 Introduzione XML è un metalinguaggio In quanto permette tramite la sua sintassi di descrivere altri linguaggi XSLT (eXtensible Stylesheet Language for Transformation) è un esempio di linguaggio scritto con sintassi XML cioè una grammatica XML Un documento XML è innanzitutto XML Ben formattato Contiene al suo interno elementi ed attributi che fanno riferimento alla grammatica XSLT Tale grammatica rappresenta una raccomandazione W3C Namespace: http://www.w3.org/1999/XSL/Transform

3 Barbara Re3 Lapproccio Lapproccio generico di un documento XSLT alla trasformazione di contenuti XML può essere schematizzato con una frase Cerca – Trova – Trasforma Lapproccio a XSLT dovrà essere orientato allo studio di una grammatica che ci permetta di cercare allinterno dellalbero di un documento XML dei contenuti e, una volta trovati, qualora esistano, li trasformi in qualcosa di diverso Albero OriginaleAlbero Risultante Trasformazione XSLT

4 Barbara Re4 Il modello di XSLT processore XSLT input output

5 Barbara Re5 Documento XSLT Stylesheet è il tag root In ogni caso occorre che lintero doocumento faccia riferimento al Namespace corretto, partendo dal tag root e scegliendo un alias per il Namespace, di solito xsl Un documento XSLT quindi contiene allinterno del tag root indicato, una serie di altri nodi elemento che corrispondono a istruzioni del linguaggio <xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform>http://www.w3.org/1999/XSL/Transform

6 Barbara Re6 Dichiarazione Per provare istruzioni XSLT sarà sufficiente inserire in testa a un documento xml una seconda processing-instruction dopo il prologo che colleghi lXSLT allXML

7 Barbara Re7 Definizione di Template La prima istruzione per eccellenza di un documento XSLT è quella che ci permette di definire dei template Cioè dei modelli di trasformazione <xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform>http://www.w3.org/1999/XSL/Transform

8 Barbara Re8 Comando template Il comando template lavora con un attributo di nome match Match permette di definire a quali nodi si debba applicare il template stesso Lattibuto match rappresenta una regola XPath quindi la condizione match=/ indica che vogliamo definire un template per il nodo root del documento

9 Barbara Re9 Esempio: HTML in output <xsl:stylesheet version="1.0" xmlns:xsl=http://www.w3.org/1999/XSL/Transform>http://www.w3.org/1999/XSL/Transform prima trasformazione da XML a HTML Prova di scrittura del documento HTML

10 Barbara Re10 XML di riferimento Cliente1 Via Roma, 1 2000 3000 Cliente2 Via Roma, 2 4000 5000 Cliente3 Via Roma, 3 6000 7000 cliente4 Via Roma, 4 9000 1000 cliente5 Via Roma, 5 10 30

11 Barbara Re11 Lettura e copia dei valori Comandi per la lettura e copia dei documenti in ingresso Per leggere in uscita il valore di un qualsiasi nodo con il comando value-of-select

12 Barbara Re12 Proviamo………….. base trasformazione

13 Barbara Re13 Soluzioni iterative Nel caso in cui si vogliono leggere però i nomi di tutti i clienti e non solo del primo cliente dobbiamo appoggiarci o ad un costrutto iterativo oppure al comando apply-templates che richiama ricorsivamente il template associato a ciascuno dei nodi che fanno parte di una collezione di nodi

14 Barbara Re14 Proviamo………….. ricorrobase ricorro

15 Barbara Re15 Costrutti condizionali ed iterativi Possiamo creare costrutti condizionali per valutare il contenuto del documento XML in ingresso prima di trasformarlo If Choose La differenza fra i due costrutti è che il blocco if può valutare una sola condizione e non presenta unalternativa elseif come spesso accade nei linguaggi tradizionali Se prevediamo anche un blocco otherwise questo costituisce la condizione di default nel caso in cui nessuna delle precedenti si verifichi

16 Barbara Re16 Esempio costrutto if (Cliente dal 2000)

17 Barbara Re17 Proviamo…………..

18 Barbara Re18 Esempio costrutto choose

19 Barbara Re19 Proviamo…………..

20 Barbara Re20 Istruzione for-each Nel caso in cui sia necessario eseguire delle interazioni su collezioni di nodi presenti nel documento XML di input possiamo usare listruzione for-each

21 Barbara Re21 Ordinamento Qualora volessimo ordinare il contenuto secondo un qualche valore prima di scriverlo in output possiamo far riferimento allistruzione sort Select indica unespressione secondo la quale ordinare i contenuti Data-type ci permette di indicare al processore se vogliamo un ordinamento tra stringhe o numeri Order ci permette di definire se vogliamo un ordinamento crescente o decrescente dei dati

22 Barbara Re22 XSLT consente di trasformare documenti XML in altri documenti con struttura diversa Funziona con un meccanismo di pattern matching e si basa su Xpath Implementa istruzioni condizionali e meccanismi di iterazione Conclusione

23 Barbara Re23 Riferimenti Deitel et al, XML Corso di programmazione, Apogeo Chris Bates, XML in theory and Practice, Wiley XML Path Language (XPath) Version 1.0 W3C Recommendation 16 November 1999 http://www.w3.org/TR/xpath W3Schools Online Web Tutorials http://www.w3schools.com/xsl/default.asp

24 Barbara Re24 Ci sono domande?


Scaricare ppt "XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico 2006-07."

Presentazioni simili


Annunci Google