XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica.

Slides:



Advertisements
Presentazioni simili
WWW XML-Namespace Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u Lesigenza e il funzionamento dei Namespace in XML.
Advertisements

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.
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.
PHP.
XPath (XML Path Language)
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
Query OQL e XQUERY a confronto
XML Prof. Alfredo Pulvirenti. XML XML (eXtensible Markup Language) è un meta linguaggio. Può essere definito come un insieme di regole e convenzioni che.
Università La Sapienza Web programming e programmazione multimediale 1 Web Programming e comunicazione multimediale Lezione 10: PHP.
WWW Link in XML Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u XLink.
Laboratorio di Applicazioni Informatiche II mod. A
XML Prof. Barbara Pernici Politecnico di Milano. Introduzione a XML.
XML Prof. Barbara Pernici Politecnico di Milano aggiornato 10/12/2002.
Sistemi tecnologici e informazione online
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
XML e XSL. XSL - eXtensible Stylesheet Language XSL è un linguaggio di annotazione che serve a "trasformare" la struttura di un documento in formato XML.
XML e DTD. –il "PROLOG contiene: dichiarazione della versione di XML; commenti (facoltativi); dichiarazione del DOCUMENT TYPE. –il "DOCUMENT INSTANCE.
Corso di basi di dati II Prof. Francesco Cutugno Dott. Sara Romano
Basi di Dati II Sara Romano
Un’introduzione a HTML (I)
Introduzione e nozioni fondamentali di sintassi
Sistemi Operativi - Introduzione 1 Il sistema operativo UNIX Dettagli e comandi avanzati Niccolò Battezzati Politecnico di Torino Dip. Automatica e Informatica.
Il linguaggio ASP Lezione 4 Manipolare i database con ASP Lutilizzo dei FORM per laggiunta dei dati.
Elaborazione di Franco Grivet Chin
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... XML Elaborazione di Franco Grivet Chin.
Linguaggi per il Web Linguaggi di markup: CSS. Cascading Style Sheets (CSS) servono per facilitare la creazione di pagine HTML con un aspetto uniforme.
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
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.
Informatica Umanistica A.A. 2009/2010 eXtensible Markup Language (XML)
Importanza DTD La DTD (Document Type Definition) consente di dichiarare in maniera univoca la struttura di markup mediante la definizione dello schema.
I fogli di stile XSL – 2 –. Selezioni multiple : serve per applicare una regola in modo ricorsivo a nodi figli dellelemento contestuale. Attributo select.
CSS : Cascading Style Sheet
Cascading Style Sheet (Fogli di Stile in Cascata)
Creare pagine web Xhtlm. Struttura di una pagina.
HTML Lezione 3 Stili.
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Informatica Umanistica A.A. 2005/2006 LEZIONE 6 Ripasso XML – DTD XSL.
Il linguaggio HTML Antonella Schiavon – settembre 2008 rev. 1 – aprile 2011.
HTML HyperText Markup Language Linguaggio per marcare un’Ipertesto
I fogli di stile CSS 1 Cristina Gena
XPATH.
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
JavaScript Generalità Cos'è JavaScript?
XHTML Corso linguaggi per il web a.s. 2011/2012 ITIS A. Righi – Corsico Relatore – Aldo Guastafierro.
Creazione di pagine per Internet Brevi note a cura di Emanuele Lana
Programma delle lezioni LABORATORIO B  Lezione 01: 27/02martedi  Lezione 02: 06/03martedi  Lezione 03: 13/03martedi  Lezione 04:
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Introduzione a Javascript
Tecnologie di InternetDocument Type Definition Dott. Nicola Dragoni Document Type Definition  Document Type Definition (DTD)  Documento XML valido 
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.
Introduzione alle Griglie computazionali - aa Introduzione alle griglie computazionali Introduzione alle griglie computazionali Università degli.
A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.
CSS Cascading Style Sheet
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Fondamenti di Markup Languages: Richiami di HTML © 2005 Stefano Clemente Stefano Clemente
Cenni Su SGML, HTML, XML SGML (Standard Generalized Markup Language) è il padre di tutti i linguaggi "Markup" – Lo svantaggio è la "pesantezza" dei suoi.
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.
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.
Tesi di Laurea di: Relatore: Mariano Diasio Prof. Fabio Vitali
1 XSL:Rappresentare i documenti XML Marco Mesiti XSL, XSLT, XPath.
Creazione di pagine per Internet Brevi note a cura di Emanuele Lana
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
Transcript della presentazione:

XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica

XSLT - eXtensible Stylesheet Language Transformation2 CSS e XSL CSS (Cascading Style Sheets) è un linguaggio puramente descrittivo. Assegna ai nodi del documento XML una caratterizzazione tipografica senza nessuna modifica strutturale o organizzativa XSL (eXtensible Stylesheet Language), invece, permette sia caratterizzazione tipografica che riscrittura, ovvero la possibilità di organizzare il contenuto finale in maniera diversa dall'originale

XSLT - eXtensible Stylesheet Language Transformation3 XSL e XSLT XSLT (XSL Transformation) estende il concetto di foglio di stile fino a permettere la manipolazione della struttura stessa del documento XSLT permette di trasformare un documento XML filtrandone i dati e riorganizzandoli in unaltra struttura XML, o persino in un semplice testo XSLT possiede molte delle caratteristiche di un linguaggio di programmazione imperativo! XSLT, inoltre, si basa su XPath

XSLT - eXtensible Stylesheet Language Transformation4 Cosa è XSLT XSLT trasforma un documento XML in altri documenti Usato principalmente per ottenere un documento HTML Trasformare significa analizzare il contenuto ed eseguire determinate azioni in funzione degli elementi trovati al suo interno processore XSLT Per eseguire la trasformazione occorre un processore XSLT Msxml vers. 3.0 il processore XSLT usato da IE5 Documento XML Ecc… Documento XML Documento HTML XSLXSL XSL (eXstensible Style Language) Specifica per la trasformazione e la formattazione dei documenti XML : 1.XSLT 1.XSLT per trasformare 2.XSL-FO 2.XSL-FO per formattare gli oggetti

XSLT - eXtensible Stylesheet Language Transformation5 Struttura dati per animali in estinzione (animali.xml)animali.xml

XSLT - eXtensible Stylesheet Language Transformation6 Processo di trasformazione 1.Il processore XSLT analizza il documento XML 2.Lo converte in un albero e ne identifica i nodi 3.Il processore esamina un foglio di stile XSLT per sapere come trattare questi nodi 4.Le istruzioni sono contenute nei modelli (template) 5.Composizione dei template 1.Etichetta che identifica i nodi ai quali il template può essere applicato; 2.Istruzioni riguardanti la trasformazione che dovrebbe avere luogo 6.I dati trasformati vengono quindi visualizzati o salvati in un altro file

XSLT - eXtensible Stylesheet Language Transformation7 Primo foglio di stile XSLT (animali_01.xsl) [1] <xsl:stylesheet xmlns:xsl=" orm" version="1.0"> [2] [3] Specie in via di estinzione Gli animali in via di estinzione subiscono numerose minacce. Per maggiori informazioni consulta World Wildlife Federation's. [/3] [/2] 1.Ogni documento XSLT è un documento XML e quindi deve iniziare con una dichiarazione XML standard 2.Elemento radice per il foglio di stile che identifica il prefisso xsl 3.Template di massimo livello che contiene 1.Valori letterali che rimangono invariati nelloutput (generalmente tag html e caratteri) 2.Istruzioni XSLT che eseguono loutput dei nodi del documento sorgente o li elaborano ulteriormente Per utilizzare msxml di IE il documento XML deve avere nel prologo la PI

XSLT - eXtensible Stylesheet Language Transformation8 OUTPUT del contenuto di un nodo Nella struttura dellesempio Tigre panthera tigris cacciatori Si voglia far apparire in output il valore dellelemento name Dove espressione identifica linsieme dei nodi del documento XML sorgente il cui contenuto deve essere inserito in questa posizione. <xsl:stylesheet xmlns:xsl=" 9/XSL/Transform" version="1.0"> Specie in via di estinzione Gli animali in via di estinzione subiscono numerose minacce. (esempio: ) Per maggiori informazioni consulta World Wildlife Federation's. <xsl:stylesheet xmlns:xsl=" 9/XSL/Transform" version="1.0"> Specie in via di estinzione Gli animali in via di estinzione subiscono numerose minacce. (esempio: ) Per maggiori informazioni consulta World Wildlife Federation's. (animali_02.xsl)

XSLT - eXtensible Stylesheet Language Transformation9 ESERCITAZIONE Modificare il documento xslt animali_02.xsl in modo che loutput appaia nalla seguente maniera :

XSLT - eXtensible Stylesheet Language Transformation10 Creazione di regole template Le regole dei template sono moduli che descrivono come eseguire loutput di una determinata porzione di XML Sono costituite da tre parti: 1.Il tag di apertura che descrive a quale parte la regola deve essere applicata 2.La parte centrale che dice cosa accade quando viene trovata una corrispondenza 3.Tag di chiusura che completa il template Lordine dei template è del tutto irrilevante; limportante è quando vengono richiamati Template di massimo livello match=/ Template che riguarda gli elementi animal match=specie_estinzi one/animal Template che riguarda gli elementi name con attributo language=Italian Template che riguarda gli elementi name con attributo language=Latin

XSLT - eXtensible Stylesheet Language Transformation11 Applicazione di regole template Lelemento xsl:apply- template Cerca ed invoca la regola più appropriata per ciascun nodo Decide quali nodi elaborare esaminando la propria espressione select Decide quali template utilizzare esaminando i loro pattern (match) E possibile utilizzare un differente template per ciascun nodo Specie in via di estinzione Gli animali in via di estinzione subiscono numerose minacce. I maggiori esempi sono rappresentati da : Per maggiori informazioni consulta World Wildlife Federation's.

XSLT - eXtensible Stylesheet Language Transformation12 animali_03.xsl Template per elemento animal Template per elemento name con attributo language=Italian : Template per elemento name con attributo language=Latin

XSLT - eXtensible Stylesheet Language Transformation13 Elaborazione di tutti i nodi di un dato insieme Template per elementi animal Template per elementi animal modificato Allinterno dellistruzione Si trova tutto ciò che deve accadere per ciascun nodo dellinsieme selezionato Nel nostro caso per ogni sottospecie dellelemento animal corrente Allinterno dellistruzione Si trova tutto ciò che deve accadere per ciascun nodo dellinsieme selezionato Nel nostro caso per ogni sottospecie dellelemento animal corrente

XSLT - eXtensible Stylesheet Language Transformation14 animali_04.xsl

XSLT - eXtensible Stylesheet Language Transformation15 Elaborazione condizionale Si voglia far apparire nella tabella precedente in luogo del valore zero sulla popolazione la stringa ESTINTA Espressione = condizione Si specifica cosa deve accadere se il test è vero Avevo Devo avere lapplicazione del template population Template population (ESTINTA) Animali_05.xsl

XSLT - eXtensible Stylesheet Language Transformation16 Aggiunta di scelte condizionali In luogo dello 0 la parola ESTINTA (ESTINTA) animali_06.xsl

XSLT - eXtensible Stylesheet Language Transformation17 Ordinamento dei nodi Si voglia far apparire la tabella in ordine decrescente rispetto alla popolazione ed alla regione di ciascuna sottospecie Sottoscpecie Regione Popolazione animali_07.xsl

XSLT - eXtensible Stylesheet Language Transformation18 Allinterno di un elemento è possibile specificare degli attributi in maniera esplicita con il tag Dato il frammento e il template.html ottengo il frammento Mario Rossi Creazione di Attributi

XSLT - eXtensible Stylesheet Language Transformation19 Generazione attributi tag HTML animali_08.xsl

XSLT - eXtensible Stylesheet Language Transformation20 I fogli di stile XSLT Un foglio di stile XSL è composto sostanzialmente di template di costruzione, che permettono di riscrivere, modificandola, una selezione del documento XML dorigine nel documento destinazione Ogni template individua un pattern da ricercare nel documento di partenza, e vi associa un blocco di elementi e testo da inserire nel documento di destinazione Un template è indicato dallelemento template The name attribute allows you to specify a name for a template, so that the template can be called later by the call- templates element The match attribute is a very important attribute, because this is what will determine what component your template will be applied to in the XML document

XSLT - eXtensible Stylesheet Language Transformation21 Address Book Example - Jane Doe Fake Street Springfield IL John Smith Peaceful Lane Bloomington IN Busy Street Bloomington IN

XSLT - eXtensible Stylesheet Language Transformation22 Visualizzare lintero contenuto del nostro esempio (address_book01.xsl) JaneDoe123 Fake StreetSpringfieldIL Peaceful LaneBloomingtonIN Busy StreetBloomingtonIN The apply-templates element is used to communicate to the processor that it should apply the template to the current selected node. In the previous example, the node is specified as "/," or the root element, so it contains the entire document.

XSLT - eXtensible Stylesheet Language Transformation23 apply-templates (I) Apply templates instruct the XSL processor to cycle through child elements of the selected node, which allows you to actually apply templates to more than just the root node of your document. You can use either the apply-templates element with no selector, which will process the current node, or a select attribute to specify a node to apply the template to. will first match the root node, and then apply the template to any address children because of the apply-templates element

XSLT - eXtensible Stylesheet Language Transformation24 apply-templates (II) For example, if we wanted to process the name elements, which are children of the contact element in our example, we could use Result JaneDoeJohnSmith

XSLT - eXtensible Stylesheet Language Transformation25 Value-of The xsl:value-of element is used to insert the value of a component into the template. The value-of element has a select attribute for specifying the element or attribute you want to select the value of, using an XPath expression. You should also note that the template selects the contact node, which then becomes our context for locating the first and last elements, which are children of the name element.

XSLT - eXtensible Stylesheet Language Transformation26 crea un nodo di testo nellalbero di destinazione. Lattributo select (obbligatorio) contiene un espressione XPath che viene valutata e convertita in stringa. La stringa viene combinata con gli altri nodi di testo intorno Luso tipico è per convertire markup in testo (ad esempio il valore di attributi in contenuto). Dato il frammento e il template ottengo il frammento Mario Rossi Prelievo di valori

XSLT - eXtensible Stylesheet Language Transformation27 Laddove non sia possibile usare del markup (ad esempio come valore di un attributo), è possibile usare le parentesi graffe, che hanno in questo senso lo stesso significato di Luso tipico è per convertire markup in altro markup (ad esempio il valore di un attributo nel nome di un tag). Dato il frammento e il template ottengo il frammento Mario Uso delle graffe {}

XSLT - eXtensible Stylesheet Language Transformation28 Se è necessario scrivere un elemento complesso o calcolato si usa Ad esempio può servire per trasformare il valore di un attributo del documento di partenza nel nome di un tag nel documento destinazione Dato il frammento e il template ottengo il frammento Mario Rossi Creazione di Elementi

XSLT - eXtensible Stylesheet Language Transformation29 Creare Elementi ed Attributi Da un doc. XM L Ad un altro Doc XML

XSLT - eXtensible Stylesheet Language Transformation30 Come avviene la trasformazione È utilizzato per creare un elemento specificandone il nome nellattributo name. ( espressione XPATH tra parentesi graffe Per creare lattributo di un elemento (name = nome dellattributo)

XSLT - eXtensible Stylesheet Language Transformation31 Per applicare un comportamento specifico ad ognuno dei figli direttamente dentro al template si utilizza Ad esempio il template: viene più facilmente realizzato così: Iterazione

XSLT - eXtensible Stylesheet Language Transformation32 ordina i nodi nella lista dei nodi correnti. Esso può essere soltanto figlio di un o di un Gli elementi possono annidarsi Vari attributi: Select: lespressione in base alla quale fare il sort Data-type: il tipo di dato da ordinare (numero o testo o altro) Order: il tipo ascendete o discendente di ordine Case-order: come trattare le maiuscole e le minuscole Ordinamento

XSLT - eXtensible Stylesheet Language Transformation33 Esempio di ordinamento

XSLT - eXtensible Stylesheet Language Transformation34 Iterazione ed Ordinamento USAGE XSLT

XSLT - eXtensible Stylesheet Language Transformation35 attiva condizionalmente dei comportamenti a seconda della verità di un XPath di test. Ad esempio il template seguente colora di giallo lo sfondo di una riga ogni due di una tabella HTML: yellow Istruzioni condizionali

XSLT - eXtensible Stylesheet Language Transformation36 seleziona una tra molte alternative (la funzione di switch in java) blue green red Istruzioni condizionali

XSLT - eXtensible Stylesheet Language Transformation37 Istruzioni condizionali conditional.xls

XSLT - eXtensible Stylesheet Language Transformation38 Uso di variabili E possibile definire delle variabili. Il valore di una variabile è quello di qualunque espressione. La variabile può essere usata nel sottoalbero in cui è definita e deve essere richiamata con luso delle graffe e del segno $ 12pt

XSLT - eXtensible Stylesheet Language Transformation39 Merging E possibile porre frammenti di fogli di stile in file esterni. Con gli elementi e è possibile inserire frammenti esterni con due significati leggermente diversi: modifica, diminuendola, la priorità degli elementi inclusi, mentre la mantiene Metodi di output E possibile specificare che il documento risultante è XML, HTML o testo con lelemento. Se loutput è HTML o testo, il processore è meno rigoroso nel valutare la buona forma del documento risultante White space E possibile specificare quali elementi debbano preservare e quali debbano collassare il white space con due appositi elementi, e Altri aspetti di XSLT

XSLT - eXtensible Stylesheet Language Transformation40 Un altro esempio

XSLT - eXtensible Stylesheet Language Transformation41 Un esempio finale

XSLT - eXtensible Stylesheet Language Transformation42 <xsl:stylesheet version="1.0" xmlns:xsl=" …. Numerare i capitoli ed i paragrafi... Chapter :... Paragraph :...

XSLT - eXtensible Stylesheet Language Transformation43... Chapter :... Paragraph :... Un esempio complesso

XSLT - eXtensible Stylesheet Language Transformation44 Chapter I: It begins Paragraph I.a: First paragraph Paragraph I.b: 2nd paragraph Paragraph I.c: 3rd paragraph Chapter II: The sequel Paragraph II.a: Paragraph Paragraph II.b: Yet another paragraph Risultato

XSLT - eXtensible Stylesheet Language Transformation45 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

XSLT - eXtensible Stylesheet Language Transformation46 ESERCITAZIONE (menu.xml)

XSLT - eXtensible Stylesheet Language Transformation47 Esercitazione (segue) Scrivere un documento di stile XSL per ottenere il seguente risultato in HTML Quindi ordinare il menu per prezzo Scrivere un documento di stile XSL per ottenere il seguente risultato in HTML Quindi ordinare il menu per prezzo

XSLT - eXtensible Stylesheet Language Transformation48 Riferimenti Deitel et al, XML Corso di programmazione, Apogeo Chris Bates, XML in theory and Practice, Wiley Extensible Stylesheet Language (XSL) Version 1.1 W3C Recommendation 05 December W3Schools Online Web Tutorials