XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.

Slides:



Advertisements
Presentazioni simili
I Namespace Mario Arrigoni Neri.
Advertisements

WWW XML-Namespace Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Lesigenza e il funzionamento dei Namespace in XML.
Introduzione ad XML Mario Arrigoni Neri.
HTML+XML= XHTML Il ritorno al futuro del WEB A cura di Barbara Lotti.
A. FERRARI Alberto Ferrari. L'HyperText Markup Language (HTML) (traduzione letterale: linguaggio di marcatura per ipertesti) è un linguaggio usato per.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
JavaScript 2. JavaScript nelle pagine web. HTML e XHTML Gli script JavaScript sono utilizzabili sia in pagine HTML che XHTML XHTML impone che il codice.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
Introduzione ai CSS. Cosa è successo allHTML Perché usare i CSS Introduzione ai CSS Fondamenti.
HTML LE PAGINE WEB COME SI SA, INTERNET E UN SISTEMA MONDIALE DI RETI DI COMPUTER CHE PERMETTE DI UTILIZZARE UN SISTEMA DI CONNESSIONE TRA COMPUTER.
PHP.
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica.
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
1 Scoprire e capire HTML Creare semplici pagine WEB Maria Laura Alessandroni.
WWW Link in XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u XLink.
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
Linguaggi di marcatura e fogli stile Presentazione del corso.
LHTML è un linguaggio per computer comprensibile da parte dei browser Web Le pagine Web sono scritte in HTML LHTML è necessario sul Web per formattare.
XML e XSL. XSL - eXtensible Stylesheet Language XSL è un linguaggio di annotazione che serve a "trasformare" la struttura di un documento in formato XML.
Corso di basi di dati II Prof. Francesco Cutugno Dott. Sara Romano
Architettura del World Wide Web
Labbreviazione: WWW letteralmente: World = mondo Wide = esteso Web = rete Può essere tradotta come: Rete estesa in tutto il mondo.
HyperText Markup Language
Introduzione e nozioni fondamentali di sintassi
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net View State e controlli Elaborazione di Franco Grivet Chin.
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... XML Elaborazione di Franco Grivet Chin.
Esercizio 1 Convertire il seguente DTD (esercizio 1 sui DTD) in XML Schema:
Corso di PHP.
1 XPath. 2 What is XPath? XPath is a syntax for defining parts of an XML document XPath uses paths to define XML elements XPath defines a library of standard.
Namespace Spazio dei nomi Ing. Luca Sabatucci. Scopo I Namespace servono a: I Namespace servono a: distinguere tra elementi e attributi con lo stesso.
STRUTTURA E RAPPRESENTAZIONE –Desideriamo un software che ci permetta linterscambio di documenti a prescindere dalla piattaforma –Il software deve permettere.
I fogli di stile XSL – 2 –. Selezioni multiple : serve per applicare una regola in modo ricorsivo a nodi figli dellelemento contestuale. Attributo select.
Codifica di Testi Il corso e lesame. Argomenti del corso La teoria della codifica XML: introduzione e livello avanzato (DTD, Schema W3C) La Text Encoding.
HTML Lezione 5 Immagini. URL Un Uniform Resource Locator o URL (Localizzatore di risorsa uniforme) è una sequenza di caratteri che identifica univocamente.
Interazione di JavaScript e HTML
HTML Lezione 8 I collegamenti ipertestuali (link).
Il metalinguaggio XML: la nuova frontiera per la codifica dellinformazione Relatore: Ing. Marco Porta Tesi di Laurea di: Andrea Mocchi ANNO ACCADEMICO.
Creare pagine web Xhtlm. Struttura di una pagina.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
Informatica Umanistica A.A. 2005/2006 LEZIONE 6 Ripasso XML – DTD XSL.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
XPATH.
CSS Cascade Style Sheets.
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Gli standard web W3C standard HTML CSS “…a set of standardized best practices for building web sites, and a philosophy of web design and development.
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
CORSO Di WEB DESIGN prof. Leonardo Moriello
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
HTML HTML e il web.
HTML e CSS C. Gena, C. Picardi, J. Sproston HTML e CSS.
WWW XSLT Ing. Michele Vindigni. WWW 2 Introduzione Oggi esaminiamo in breve: u XSLT, ovvero il linguaggio trasformazione per documenti XML con sintassi.
A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.
Fondamenti di Markup Languages: Richiami di HTML © 2005 Stefano Clemente Stefano Clemente
I fogli di stile XSL.
WWW XSLT Fabio Vitali. WWW Fabio Vitali2 Introduzione Oggi esaminiamo in breve: u XSLT, ovvero il linguaggio di stile di XML.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
EXtensible Stylesheet Language Transformations (XSLT) Giuseppe Della Penna Università degli Studi di L’Aquila
WWW XSLT Fabio Vitali. WWW Fabio Vitali2 Introduzione Oggi esaminiamo in breve: u XSLT, ovvero il linguaggio di stile di XML.
1 XSL:Rappresentare i documenti XML Marco Mesiti XSL, XSLT, XPath.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
16 Maggio - Lezione 9POLETTINI NICOLA1 Programma delle lezioni LABORATORIO B  Lezione 1: 14 marzomartedi  Lezione 2: 21 marzomartedi  Lezione.
Document Type Definition
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
Transcript della presentazione:

XSLT Trasformazioni XSL Ing. Luca Sabatucci

XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono trasformare i documenti di dati XML in altri formati e strutture, come i file HyperText Markup Language (HTML). Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono trasformare i documenti di dati XML in altri formati e strutture, come i file HyperText Markup Language (HTML). Lo strumento utilizzato per definire queste trasformazioni è denominato Extensible Stylesheet Language Transformations (XSLT). Lo strumento utilizzato per definire queste trasformazioni è denominato Extensible Stylesheet Language Transformations (XSLT).

Foglio di stile Un insieme di regole che permettono di trasformare un documento in un altro documento si chiama foglio di stile Un insieme di regole che permettono di trasformare un documento in un altro documento si chiama foglio di stile Un foglio di stile si definisce mediante lXSL Un foglio di stile si definisce mediante lXSL XSL è una applicazione XML XSL è una applicazione XML

Processo di trasformazione La trasformazione avviene tramite un processore chiamato elaboratore XSLT La trasformazione avviene tramite un processore chiamato elaboratore XSLT

Applicazioni pratiche Web Web Un documento XML può essere trasformato in una pagina HTML in modo da essere visualizzato tramite browser Web Un documento XML può essere trasformato in una pagina HTML in modo da essere visualizzato tramite browser Web XSL-FO XSL-FO Un documento può essere trasformato in formato FO (Formatting Object) che rappresenta una applicazione di formattazione precisa dei documenti narrativi Un documento può essere trasformato in formato FO (Formatting Object) che rappresenta una applicazione di formattazione precisa dei documenti narrativi

Namespace XSL XSL è una applicazione XML XSL è una applicazione XML XSL definisce un proprio DTD e un Namespace XSL definisce un proprio DTD e un Namespace LURL da usare per il namespace è LURL da usare per il namespace è xmlns:xsl=" Il namespace viene generalmente associato al prefisso xsl Il namespace viene generalmente associato al prefisso xsl

xsl:stylesheet Lelemento radice di un documento XSL è xsl:stylesheet Lelemento radice di un documento XSL è xsl:stylesheet Allinterno dellelemento xsl:stylesheet si mettono le regole di trasformazione Allinterno dellelemento xsl:stylesheet si mettono le regole di trasformazione Il più semplice foglio di stile XSL prevede che non vi siano regole di trasformazione Il più semplice foglio di stile XSL prevede che non vi siano regole di trasformazione

Catalogo persone Luca Sabatucci Palermo Ingegnere Mario Rossi …

La più semplice trasformazione Se si trasforma il file XML catalogo persone con un foglio di stile vuoto, come quello mostrato di seguito… Se si trasforma il file XML catalogo persone con un foglio di stile vuoto, come quello mostrato di seguito…

Output LucaSabatucci PalermoIngegnere MarioRossi471982Milano Si ottiene loutput mostrato di seguito: Si ottiene loutput mostrato di seguito:

Foglio di stile vuoto In assenza di regole la trasformazione è la seguente: In assenza di regole la trasformazione è la seguente: Viene prelevato il testo interno agli elementi del documento di input Viene prelevato il testo interno agli elementi del documento di input Viene quindi riprodotto il contenuto ma non il markup. Viene quindi riprodotto il contenuto ma non il markup. In questo caso il risultato non è un documento XML In questo caso il risultato non è un documento XML

Modelli e regole Per controllare il modo in cui viene generato loutput in base allinput bisogna aggiungere dei modelli allinterno del foglio di stile Per controllare il modo in cui viene generato loutput in base allinput bisogna aggiungere dei modelli allinterno del foglio di stile Ogni modello è rappresentato da un elemento xsl:template, dotato di un attributo match Ogni modello è rappresentato da un elemento xsl:template, dotato di un attributo match xsl:template definisce una regola di trasformazione xsl:template definisce una regola di trasformazione match identifica il tipo di input che attiva la regola match identifica il tipo di input che attiva la regola esempio: persona Una persona esempio: persona Una persona

Esempio Di seguito viene mostrata la regola corrispondente a: Di seguito viene mostrata la regola corrispondente a: persona Una persona persona Una persona Una persona Output: Una personaUna persona

Associamo uno stile HTML E possibile fare in modo che loutput sia un documento XML ben formato E possibile fare in modo che loutput sia un documento XML ben formato Una persona

Output Output XML Output XML Output HTML (Internet Explorer) Output HTML (Internet Explorer) Una persona Una persona Una persona

Valore di un elemento Lelemento xsl:value-of permette di selezionare il contenuto di un elemento di input e inserirlo come output Lelemento xsl:value-of permette di selezionare il contenuto di un elemento di input e inserirlo come output xsl:value-of si può trovare soltanto allinterno di un elemento xsl:template xsl:value-of si può trovare soltanto allinterno di un elemento xsl:template Lattributo select serve a selezionare il valore che deve essere prelevato Lattributo select serve a selezionare il valore che deve essere prelevato

Esempio Di seguito viene riportato un esempio di elemento xsl:value-of: Di seguito viene riportato un esempio di elemento xsl:value-of: Una persona:

Output Output XML Output XML Output HTML (Internet Explorer) Output HTML (Internet Explorer) Una persona: Luca Una persona: Mario Una persona: Luca Una persona: Mario

select Nellesempio mostrato lattributo select di xsl:value-of era impostato come di seguito: Nellesempio mostrato lattributo select di xsl:value-of era impostato come di seguito: select="nome Dove nome è lattributo del quale si vuole estrarre linformazione. Più in generale il valore di select deve essere una espressione XPath XPath sarà argomento delle prossime lezioni.

Applicazione forzata di modelli Lutilizzo della regola xsl:apply-templates permette di stabilire quali modelli devono essere applicati e in che ordine Lutilizzo della regola xsl:apply-templates permette di stabilire quali modelli devono essere applicati e in che ordine xsl:apply-templates possiede un attributo select che specifica una regola di tipo xsl:template xsl:apply-templates possiede un attributo select che specifica una regola di tipo xsl:template

Esempio Nome: Cognome:

select A differenza del primo esempio in cui lattributo select di xsl:value-of era impostato come: A differenza del primo esempio in cui lattributo select di xsl:value-of era impostato come: select="nome In questo esempio si ha: select="text() Dove text() è una espressione XPath che sta ad indicare che dellelemento corrente (nellesempio si trattava del nome o del cognome) deve essere prelevato il testo in esso contenuto.

Output Output XML Output XML Cognome: Sabatucci Nome: Luca Cognome: Rossi Nome: Mario

Output Output HTML (Internet Explorer) Output HTML (Internet Explorer) Cognome: Sabatucci Nome: Luca Cognome: Rossi Nome: Mario

Intestazione HTML Catalogo persone

Output XML Catalogo persone Cognome: Sabatucci Nome: Luca Cognome: Rossi Nome: Mario

Creazione di attributi

Modelli XSLT di default </xsl:template> Identifica il nodo radice del doc e tutti i nodi degli elementi. Applica i modelli ai loro nodi child Identifica i nodi di testo e i nodi degli attributi e genera loutput dei loro valori Identifica i nodi di istruzione di elaborazione e i nodi dei commenti ma non svolge alcuna azione su di essi

Sorgente XML <sports> <id>243</id><para> More popular among commonwealth nations. More popular among commonwealth nations. </game> <id>431</id><para> More popular in America. More popular in America. </game> <id>123</id><para> Most popular sport in the world. Most popular sport in the world.</para></game></sports>

La trasformazione XSL <xsl:stylesheet version = "1.0" xmlns:xsl = " xmlns:xsl = "

Il risultato della trasformazione <sports> <comment> More popular among commonwealth nations. More popular among commonwealth nations. </cricket> <comment> More popular in America. More popular in America. </baseball> <comment> Most popular sport in the world. Most popular sport in the world. </soccer></sports>

Iterazioni e ordinamento

E possibile elaborare in modo iterativo I nodi selezionati con unespressione XPath. E possibile elaborare in modo iterativo I nodi selezionati con unespressione XPath. Sui nodi si può anche operare un ordinamento Sui nodi si può anche operare un ordinamento

File dati XML Deitel&apos;s XML Primer Deitel&apos;s XML Primer <author><firstName>Paul</firstName><lastName>Deitel</lastName></author><chapters> Welcome Welcome Easy XML Easy XML XML Elements? XML Elements? Entities Entities </chapters> </book>

La trasformazione XSLT - 1 <xsl:stylesheet version = "1.0" xmlns:xsl = " xmlns:xsl = " ISBN - ISBN - Continua

La trasformazione XSLT - 2 by, by, Preface Preface ( ( pages ) pages )

La trasformazione XSLT - 3 Chapter Chapter ( ( pages ) pages )

La trasformazione XSLT - 4 Appendix Appendix ( ( pages ) pages ) </xsl:stylesheet>

Il risultato della trasformazione

<html><head> ISBN X - Deitel's XML Primer ISBN X - Deitel's XML Primer </head> Deitel's XML Primer Deitel's XML Primer by Deitel, Paul by Deitel, Paul <tr> Preface 1 Preface 1 Welcome (2 pages ) Welcome (2 pages ) </tr><tr> Chapter 1 Chapter 1 Easy XML (4 pages ) Easy XML (4 pages ) </tr>

Il risultato della trasformazione <tr> Chapter 2 Chapter 2 XML Elements? (2 pages ) XML Elements? (2 pages ) </tr><tr> Appendix 1 Appendix 1 Entities (9 pages ) Entities (9 pages ) </tr></table></body></html>

Istruzioni Condizionali

Il file dati XML <planner> Doctor&apos;s appointment Doctor&apos;s appointment Physics class at BH291C Physics class at BH291C </date> Independence Day Independence Day </date> General Meeting in room 32-A General Meeting in room 32-A </date>

Il file dati XML Party at Joe&apos;s Party at Joe&apos;s </date> Financial Meeting in room 14-C Financial Meeting in room 14-C </date></year></planner>

La trasformazione XSL <xsl:stylesheet version = "1.0" xmlns:xsl = " xmlns:xsl = " Appointments Appointments

Year: Year: <xsl:sort select = order = "ascending" <xsl:sort select = order = "ascending" data-type = "number"/> data-type = "number"/> Day: Day: / /

<xsl:when test = > '0500' < '1200'"> Morning ( ): <xsl:when test = > '1200' < '1700'"> Afternoon ( ): <xsl:when test = > '1200' < '1700'"> Evening ( ): <xsl:when test = > '1200' < '1700'"> Night ( ): Entire day: Lelemento choose si usa per scegliere tra varie opzioni (tipo switch del Java)

n/a n/a </xsl:stylesheet> Lelemento choose si usa per specificare una sola condizione

Il risultato

<html><body> Appointments Appointments <strong>Year:</strong>2000<br> Day: 4/7 Day: 4/7 Entire day: Independence Day Entire day: Independence Day Day: 15/7 Day: 15/7 Afternoon (1430):Doctor's appointment Afternoon (1430):Doctor's appointment Day: 15/7 Day: 15/7 Afternoon (1620):Physics class at BH291C Afternoon (1620):Physics class at BH291C

Il risultato Day: 20/7 Day: 20/7 Morning (0900):General Meeting in room 32-A Morning (0900):General Meeting in room 32-A Day: 20/7 Day: 20/7 Entire day:Party at Joe's Entire day:Party at Joe's Day: 20/7 Day: 20/7 Afternoon (1300):Financial Meeting in room 14-C Afternoon (1300):Financial Meeting in room 14-C </body></html>

Copiare i nodi

XSLT permette di copiare i nodi dal file dati XML di origine in quello creato con la trasformazione XSLT permette di copiare i nodi dal file dati XML di origine in quello creato con la trasformazione Ciò si fa con lelemento copy che copia il nodo di contesto Ciò si fa con lelemento copy che copia il nodo di contesto

Il file dati XML <myMessage> Welcome to XSLT! Welcome to XSLT! </myMessage>

XSLT <xsl:stylesheet version = "1.0" xmlns:xsl = " xmlns:xsl = " How about &apos;Hi World&apos; for a change! How about &apos;Hi World&apos; for a change! </xsl:stylesheet>

Il risultato <myMessage><message> How about 'Hi World' for a change! How about 'Hi World' for a change!</message></myMessage>

Esercizi

Esercizio 1 Scrivere un XSLT che trasformi il documento della figura in quello della figura seguenti Scrivere un XSLT che trasformi il documento della figura in quello della figura seguenti

Esercizio 2 Fare il viceversa (trasformare il doc di fig in quello di fig ) Fare il viceversa (trasformare il doc di fig in quello di fig )

Esercizio 3 Trasformare in HTML i due documenti precedenti Trasformare in HTML i due documenti precedenti

Esercizio 4 Trasformare il file planner XML nella struttura mostrata in figura Trasformare il file planner XML nella struttura mostrata in figura 12.30

Il file dati PLANNER.XML <planner> Doctor&apos;s appointment Doctor&apos;s appointment Physics class at BH291C Physics class at BH291C </date> Independence Day Independence Day </date> General Meeting in room 32-A General Meeting in room 32-A </date>

Il file dati PLANNER.XML Party at Joe&apos;s Party at Joe&apos;s </date> Financial Meeting in room 14-C Financial Meeting in room 14-C </date></year></planner>

Figura 12.30