OUJOOD.COM
XSLT - Transformation du fichier XML
XML cours tutorial
Comment transformer le XML en XHTML à l'aide de XSLT.
La déclaration de feuille de Style
L'élément racine qui déclare que le document est une feuille de style
XSL est :
<xsl:stylesheet> ou <xsl:transform>.
Note :
<xsl:stylesheet> et <xsl:transform> sont complètement
synonymes et on peut utiliser l’une ou l’autre !
La manière correcte de déclarer une feuille de style XSL conformément à
la recommandation XSLT de W3C est :
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Ou
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
Pour obtenir l'accès aux éléments XSLT, attributs et fonctionnalités il
faut déclarer l'espace de noms XSLT en haut du document.
L’attribut xmlns:xsl="http://www.w3.org/1999/XSL/Transform" pointe
vers l'espace de noms du W3C XSLT officiel.
Si vous utilisez cet espace de noms, vous devez également inclure
l'attribut de la version
version = "1.0".
Commencer avec un Document XML
Nous voulons transformer le document XML suivant ("cdcatalog.xml") en XHTML :
Exemple : 📋 Copier le code
<?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> <cd> <title>Hide your heart</title> <artist>Bonnie Tyler</artist> <country>UK</country> <company>CBS Records</company> <price>9.90</price> <year>1988</year> </cd> <cd> <title>Greatest Hits</title> <artist>Dolly Parton</artist> <country>USA</country> <company>RCA</company> <price>9.90</price> <year>1982</year> </cd> <cd> <title>Still got the blues</title> <artist>Gary Moore</artist> <country>UK</country> <company>Virgin records</company> <price>10.20</price> <year>1990</year> </cd> <cd> <title>Eros</title> <artist>Eros Ramazzotti</artist> <country>EU</country> <company>BMG</company> <price>9.90</price> <year>1997</year> </cd> <cd> <title>One night only</title> <artist>Bee Gees</artist> <country>UK</country> <company>Polydor</company> <price>10.90</price> <year>1998</year> </cd> <cd> <title>Sylvias Mother</title> <artist>Dr.Hook</artist> <country>UK</country> <company>CBS</company> <price>8.10</price> <year>1973</year> </cd> <cd> <title>Maggie May</title> <artist>Rod Stewart</artist> <country>UK</country> <company>Pickwick</company> <price>8.50</price> <year>1990</year> </cd> <cd> <title>Romanza</title> <artist>Andrea Bocelli</artist> <country>EU</country> <company>Polydor</company> <price>10.80</price> <year>1996</year> </cd> <cd> <title>When a man loves a woman</title> <artist>Percy Sledge</artist> <country>USA</country> <company>Atlantic</company> <price>8.70</price> <year>1987</year> </cd> <cd> <title>Black angel</title> <artist>Savage Rose</artist> <country>EU</country> <company>Mega</company> <price>10.90</price> <year>1995</year> </cd> <cd> <title>1999 Grammy Nominees</title> <artist>Many</artist> <country>USA</country> <company>Grammy</company> <price>10.20</price> <year>1999</year> </cd> <cd> <title>For the good times</title> <artist>Kenny Rogers</artist> <country>UK</country> <company>Mucik Master</company> <price>8.70</price> <year>1995</year> </cd> <cd> <title>Big Willie style</title> <artist>Will Smith</artist> <country>USA</country> <company>Columbia</company> <price>9.90</price> <year>1997</year> </cd> <cd> <title>Tupelo Honey</title> <artist>Van Morrison</artist> <country>UK</country> <company>Polydor</company> <price>8.20</price> <year>1971</year> </cd> <cd> <title>Soulsville</title> <artist>Jorn Hoel</artist> <country>Norway</country> <company>WEA</company> <price>7.90</price> <year>1996</year> </cd> <cd> <title>The very best of</title> <artist>Cat Stevens</artist> <country>UK</country> <company>Island</company> <price>8.90</price> <year>1990</year> </cd> <cd> <title>Stop</title> <artist>Sam Brown</artist> <country>UK</country> <company>A and M</company> <price>8.90</price> <year>1988</year> </cd> <cd> <title>Bridge of Spies</title> <artist>T`Pau</artist> <country>UK</country> <company>Siren</company> <price>7.90</price> <year>1987</year> </cd> <cd> <title>Private Dancer</title> <artist>Tina Turner</artist> <country>UK</country> <company>Capitol</company> <price>8.90</price> <year>1983</year> </cd> <cd> <title>Midt om natten</title> <artist>Kim Larsen</artist> <country>EU</country> <company>Medley</company> <price>7.80</price> <year>1983</year> </cd> <cd> <title>Pavarotti Gala Concert</title> <artist>Luciano Pavarotti</artist> <country>UK</country> <company>DECCA</company> <price>9.90</price> <year>1991</year> </cd> <cd> <title>The dock of the bay</title> <artist>Otis Redding</artist> <country>USA</country> <company>Atlantic</company> <price>7.90</price> <year>1987</year> </cd> <cd> <title>Picture book</title> <artist>Simply Red</artist> <country>EU</country> <company>Elektra</company> <price>7.20</price> <year>1985</year> </cd> <cd> <title>Red</title> <artist>The Communards</artist> <country>UK</country> <company>London</company> <price>7.80</price> <year>1987</year> </cd> <cd> <title>Unchain my heart</title> <artist>Joe Cocker</artist> <country>USA</country> <company>EMI</company> <price>8.20</price> <year>1987</year> </cd> </catalog>
Affichage du fichiers XML dans Firefox et Internet Explorer
: Ouvrez le fichier XML - document XML Il sera affiché avec le
code des éléments racine et l'enfant en couleurs.
Avec un signe plus (+) ou signe moins (-) à gauche des éléments qui
peuvent être cliqué pour développer ou réduire la structure de
l'élément.
Pour afficher la source XML brute (sans less signes + et -),
sélectionnez « Afficher le code source de la page » ou « Afficher la
Source » dans le menu du navigateur.
Affichage des fichiers XML dans Netscape 6: Ouvrez le
fichier XML, puis faites un clic droit et sélectionnez « Afficher la
Page Source ». Le document XML sera alors affiché avec couleur de
l’élément racine et des éléments enfants.
Affichage des fichiers XML dans Opera 7: Ouvrez le
fichier XML, puis faites un clic droit dans et sélectionnez « Frame »
/ « Afficher la Source ». Le document XML sera affiché en texte brut.
Créer une feuille de Style XSL
Créez une feuille de Style XSL ("cdcatalog.xsl") avec un modèle de
transformation comme suit :
Exemple : 📋 Copier le code
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Ma collection de cd</h2> <table border="1"> <tr bgcolor="#9acd32"> <th>Title</th> <th>Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Un lien vers La feuille de Style XSL dans le Document XML
Ajoutez la référence de feuille de style XSL à votre document XML
("cdcatalog.xml")
Comme suit:
Exemple : 📋 Copier le code
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?> <catalog> <cd> <title>Empire Burlesque</title> <artist>Bob Dylan</artist> <country>USA</country> <company>Columbia</company> <price>10.90</price> <year>1985</year> </cd> . . </catalog>
Si vous avez un navigateur conforme XSLT votre XML sera parfaitement
transformer en XHTML.
Les détails de l'exemple ci-dessus seront expliqués dans les prochains
chapitres.
| Cours precedent: XSLT introduction |
Sommaire de : Le langage XML |
Cours suivant: Elément XSLT XSL template |