Introduction

eXtensible Stylesheet Language Transformation : partie de XSL, ensemble de règles de transformation d'un document XML vers un autre document. L'autre partie est XSL formatting.
Pour mettre en oeuvre ces "feuilles de style", nous utiliserons un processeur XSLT écrit en Java et compatible SAX2 : inclu dans le package XML de SUN Jaxp-1.1
De plus, XSLT utilise de langage XPath pour décrire des "patterns" (localisation de noeud) et extraire des valeurs de l'arbre du document XML.

Voici quelques transformations obtenues grâce à XSLT à partir du document  atomes.xml :
 atomes.xml  atomes2.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- tableau périodique des éléments -->
<classification_atomique>
  <atome ligne="1" colonne="1">
    <nom>hydrogène</nom>
    <symbole>H</symbole>
    <numero>1</numero>
    <masse>1</masse>
    <type/>
  </atome>
  <atome ligne="1" colonne="8">
    <nom>hélium</nom>
    <symbole>He</symbole>
    <numero>2</numero>
    <masse>4</masse>
    <type>gaz rare</type>
  </atome>
....
<?xml version="1.0" encoding="iso-8859-1" ?>
<classification_atomique>
<atome symbole="H" numero="1" 
nombre_electron_peripherique="1">hydrogène
</atome>
<atome symbole="He" numero="2" 
nombre_electron_peripherique="8">hélium
</atome>
....
 famille_atome.xml  atomes_12.html
<?xml version="1.0" encoding="iso-8859-1" ?>
<classification_atomique>
   <famille type="gaz rare">
      <atome>
         <nom>hélium</nom>
         <symbole>He</symbole>
         <numero>2</numero>
         <masse>4</masse>
      </atome>
      <atome>
         <nom>néon</nom>
         <symbole>Ne</symbole>
         <numero>10</numero>
         <masse>20</masse>
      </atome>
      <atome>
         <nom>argon</nom>
         <symbole>Ar</symbole>
         <numero>18</numero>
         <masse>40</masse>
      </atome>
   </famille>
   <famille type="métal alcalin">
      <atome>
....
<html>
   <body>
      <table>
         <tr>
            <th>symbole</th>
            <th>numero</th>
         </tr>
         <tr>
            <td>h&eacute;lium</td>
            <td>2</td>
         </tr>
         <tr>
            <td>n&eacute;on</td>
            <td>10</td>
         </tr>
         <tr>
            <td>argon</td>
            <td>18</td>
         </tr>
      </table>
   </body>
</html>

A partir d'un document XML, ou HTML ou SGML bien formé :

 index  suivant