1 / 14

Introduzione a XSL (e X tensible S tylesheet L anguage)

Introduzione a XSL (e X tensible S tylesheet L anguage). Introduzione a XSL.

saber
Download Presentation

Introduzione a XSL (e X tensible S tylesheet L anguage)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduzione a XSL (eXtensible Stylesheet Language)

  2. Introduzione a XSL Tutte le volte che abbiamo l’esigenza, non solo di colorare o spostare a schermo i contenuti di un documento XML, ma anche di filtrarli, riorganizzarli come gerarchia, eseguire dei calcoli, e altro ancora, i CSS non possono esserci d’aiuto. I CSS si occupano solo della formattazione del testo contenuto all’interno dei tag di un documento XML. Per superare questo limite dei CSS, il W3C ha prodotto un linguaggio di stile pensato specificatamante per XML: eXtensible Stylesheet Language (XSL).

  3. CSS e XSL • I fogli di stile CSS applicano le regole di formattazione direttamente al contenuto del documento per creare i risultati desiderati e possono essere utilizzati sia con i documenti HTML sia con i documenti XML. • I fogli di stile XSL eseguono invece una trasformazione (in altri formati, es. PDF, XML, HTML) del contenuto del documento e possono essere usati solo con documenti XML. • Un'altra differenza significativa consiste nel fatto che i CSS contengono solo regole di formattazione, mentre i fogli XSL contengono anche regole di trasformazione.

  4. XSL (1) I fogli di stile XSL offrono lo stesso livello di formattazione e di flessibilità dei fogli di stile CSS, ma utilizzano metodi diversi. XSL consiste di un insieme di strumenti: • XSLT (eXtensible Stylesheet Language for Transformation): un linguaggio per la trasformazione di documenti XML in altri documenti (es: per trasformare un XML in un HTML o in un XML di un altro DTD) • Xpath: un linguaggio per riferire o definire parti di un documento XML (es: il contenuto di un tag <pippo> all’interno di un tag <pluto>) • XSL FO (Formatting Object): un linguaggio per la formattazione di documenti XML (simile a CSS) Nota: XSL FO non è supportato dai browser ed esistono solo pochi strumenti che oggi lo sfruttano (es: esiste uno strumento che è in grado di trasformare dei file XML in PDF sulla base della specifica XSL FO). Ci si aspetta che in un breve futuro sia supportato dai browser direttamente...

  5. XSL (2) L’idea è quella di partire da un documento sorgente XML e trasformarlo in un differente documento destinazione XML. A questo scopo: • XSLT sono le regole che dicono come i vari pezzi devono essere trasformati • Xpath sono le indicazioni che dicono a quali pezzi gli XSLT devono fare riferimento Poiché un foglio di stile XSL è a sua volta un documento XML (ben formato), deve iniziare con la dichiarazione (nel prologo) <?xml version="1.0"?>

  6. XSL (3) Un documento XSL è costituito secondo il seguente schema: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl=“http://www.w3.org/1999/XSL/Transform” version=“1.0”> <!-- Qui sarà caricato il contenuto del documento XSL --> </xsl:stylesheet> Namespace alias per il Namaspace versione di XSLT

  7. XSL: esempio primo.xsl <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform" version="1.0"> <xsl:template match="/"> <html> <head> <title>Prima trasformazione da XML a HTML</title> </head> <body> <h1>Prova di scrittura documento HTML</h1> </body> </html> </xsl:template> </xsl:stylesheet> applica a tutto il documento

  8. E’ sufficiente inserire nel prologo di documento XML una processing instruction che colleghi l’XSL all’XML nel modo seguente: <?xml version="1.0"?> <?xml-stylesheet type=“text/xsl” href=“primo.xsl” ?> <documento /> primo.xml In questo caso al documento (praticamente vuoto tranne che per il tag root di nome documento) verrà applicata la trasformazione primo.xsl. XSLT Per provare le trasformazioni XSLT sfruttiamo il supporto nativo fornito a XSLT da Microsoft Internet Explorer 6.0 e da Mozilla. Produrremo quindi trasformazioni da XML a HTML.

  9. Esempio Applichiamo la trasformazione XSLT descritta nel file primo.xsl al documento primo.xml e visualizziamo il risultato con un browser: primo.xml Elaborazione XSL (primo.xsl)

  10. Direttive XSL (1) • XSL usa uno o più templateper individuare un elemento o un gruppo di elementi del documento XML attraverso la seguente sintassi: • che permette di associare il templatespecificato con un elemento XML (specificando il valore "/" si associa il templateall'intero documento XML). <xsl:template match="valore"> • Un tag molto usato è <xsl:apply-templates />; ad esempio, con il modello abbinato alla radice si può scrivere: • Il tag <xsl:apply-templates/> indica al parserdi continuare a scandire il documento XSL alla ricerca di altri modelli da applicare ai nodi sottostanti, ovvero i nodi figli. <xsl:template match="/"> <xsl:apply-templates /> </xsl:template>

  11. Direttive XSL (2) • All’interno del template che abbiamo associato al nodo root possiamo leggere e scrivere in uscita il valore di un qualsiasi nodo utilizzando il comandovalue-of: <xsl:value-of select=“....” /> Per esempio la scrittura (inserita nella template che fa il matching del nodo root): <xsl:value-of select=“/clienti/cliente/id” /> restuisce il contenuto testuale del tag di nomeid, del primo tagclientedel figlioclienti.

  12. Direttive XSL (3) Elemento XSL Descrizione

  13. Direttive XSL (4) Elemento XSL Descrizione

  14. Esempi

More Related