Come trasformare un file XML in HTML tramite XSLT 11





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.

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)

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

Seguimi su twitter : @ironico

11 thoughts on “Come trasformare un file XML in HTML tramite XSLT

  1. Reply moreno mag 5,2012 11:07

    Ok, questo va bene ma che tu sappia esiste un modo per trasformare un .html in .xml, mi spiego:
    Ho costruito un template in html 5 vorrei trasformarlo in conversione a .xml per blogger perchè l’ utente che me lo ha richiesto ha cambiato piattaforma in blogger, per non buttar via tempo vorrei solo convertirlo, che tu sappia è fattibile??

  2. Reply Max1 apr 14,2012 22:29

    Avendo 500 libri in libreria e volendone visualizzare ad esempio una ventina per pagina ordinati per nome, come si potrebbe modificare il codice?

    Grazie
    Ciao

  3. Reply cris nov 11,2010 15:15

    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

  4. Reply maredentro72 lug 25,2009 12:12

    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

    • Reply Gennaro Varriale lug 25,2009 13:24

      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.

  5. Reply diavolodimare ott 16,2008 17:30

    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

  6. Reply Gennaro Varriale mar 22,2008 11:52

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

  7. Reply Ink mar 19,2008 11:39

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

  8. Reply Gennaro Varriale ott 26,2007 19:16

    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 ;)

  9. Reply Chris ott 26,2007 15:06

    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 :)

Leave a Reply to maredentro72 Cancel Reply

  

  

  

Per essere informato sui miei contenuti - Email: