Categorie


XSLT è utilizzato per trasformare un documento XML in un altro documento XML , utilizzando un ‘template’. Tramite XSLT è possibile trasformare un elemento XML in un elemento HTML. Vediamo come applicare un template XSL ad un file xml di esempio (libri.xml ), contenente una lista di libri, identificati da titolo, scrittore, prezzo.

Queste informazioni sono inserite nel tag xml< libro>. Dato che possono esserci più libri, inseriamo ogni <libro> in un elemento xml che chiamiamo <libreria>.

Primo passo:
Aggiungere nel nostro file xml (libri.xml) un riferimento al file XSLT “XSLBook.xsl” che sarà creato nel passo due.

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="XSLBook.xsl"?>
 
<libreria>
 
<libro>
<titolo>La verità del Ghiaccio</titolo>
<scrittore>Dan Brown</scrittore>
<prezzo>15.90</prezzo>
</libro>
 
<libro>
<titolo>La cavia</titolo>
<scrittore>Robin Cook</scrittore>
<prezzo>7.90</prezzo>
</libro>
 
</libreria>

Secondo Passo:
Creiamo il file XSL per convertire il file xml in html (XSLBook.xsl) . Questo file rappresenta un template per il file xml precedente.
Nel codice seguente tremite il tag xsl:template definiamo il template associandolo con la radice del nostro documento xml.
Dopo aver creato una tabella ed inserito le instestazioni effettuiamo un ciclo all’interno del documento xml con il tag <xsl-for-each> selezionando tutti i libri presenti in libreria (select=”libreria/libro“).
A questo punto all’interno del ciclo (che termina con </xsl:for-each>) visualizziamo le informazioni del libro, prelevandole dal file xml con il tag <xsl-value-of> inserendo come valore del parametro select il nostro campo desiderato (titolo e scrittore)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method='html' version='1.0' encoding='UTF-8' indent='yes'/>
 
 <xsl:template match="/">
 <html>
 <body>
 <h1>I miei Libri</h1>
 <table border="1">
 <tr bgcolor="#9acd32">
 <th align="left">Titolo del libro</th>
 <th align="left">Autore</th>
 </tr>
 <xsl:for-each select="libreria/libro">
 <tr>
 <td><xsl:value-of select="titolo"/></td>
 <td><xsl:value-of select="scrittore"/></td>
 </tr>
 </xsl:for-each>
 </table>
 </body>
 </html>
 
 </xsl:template>
</xsl:stylesheet>

Ora basta aprire il nostro file xml (libri.xml) qualsiasi browser (compatibile con XSLT) è possiamo vederlo trasformato in un file HTML!

 

« « Guardare film e programmi gratis tramite webTV e streaming online | Come utilizzare i campi personalizzati in WordPress » »

Articoli correlati

  • No Related Post
  • 9 commenti

    • cris scrive:

      Ciao Gennaro, ma se i campi
      Robin Cook
      Dan Brown

      vorrei stamparli in una pagina html sottoforma di link…come posso fare?logicamente per ogni scrittore associare un link diverso?
      saluti

    • maredentro72 scrive:

      Ciao, sono nuovo di qui e avrei bisogno di risposte riguardo xml…
      La mia stazione meteo attraverso un software dedicato genera un file in estensione xml con tutta una serie di dati che vorrei utilizzare per creare ad hoc una pagina web personale.
      Ora, il file .xml viene generato ogni minuto e avrei la necessità di estrarne i dati e inserirli nella pagina .html o .htm e poi caricarla sul server via http://ftp... tutto questo in automatico.
      Per la gestione dell’ftp in automatico non ho probleni… il grattacapo sta a monte.

      Chiedo troppo?
      Grazie

      • In teoria va analizzato meglio il contesto, comunque puoi farlo in php, con la libreria simplexml (integrata in php5)
        Per esempio
        < ?php
        $xml = simplexml_load_file('dati.xml');
        foreach($xml->root as $item)
        {
        /*
        i dati sono in $item->dato1 e $item->dato2
        */
        }
        ?>

        dove nell’esempio dati.xml è:
        <root>
        <item>
        <dato1>….</dato1>
        <dato2>…</dato2>
        </item>
        </root>

        La libreria è molto potente, ed in rete trovi come sfruttarla al meglio.

    • diavolodimare scrive:

      io ho un preblemino con un blog crato in questo linguaggio.

      tentando di inserire un suono con comandi html non ci sono problemi ma se cerco di inserire un jubox mi da in continuazione degli errori.

      salvando e modificando l’intera pagina nel mio pc funziona ma se cerco di inserirla nel blog mi da errore e non me la salva

    • @ink: Grazie. Dove e come hai inserito il css?

    • Ink scrive:

      Complimenti, la tua spiegazione e’ stata molto esaustiva, ma ho ancora un problemino a lincare il file CSS…non me lo legge -.-’

    • Vero. Io non li ho ancora usati al massimo.
      Ma quando ne avrò occasione li voglio sfruttare, lo swap per cellulare potrebbe essere un buon suggerimento ;)

    • Chris scrive:

      Si i documenti XSL sono molto potenti e flessibili,il più bell’uso che ne ho visto fare è per la generazione di pagine in XHTML o WAP a seconda se il client fosse un laptop,un PDA o un cellulare :)

    Rispondi

    Attenzione : Per inserire codice html/php o caratteri speciali utilizza Postable. Postable converte i caratteri speciali del tuo commento.
    XHTML: Puoi usare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">