output

Améliorons le format de sortie, et essayons de générer du HTML:

 feuille3.xsl  appliquée sur atomes.xml --> résultat
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
  <xsl:output method="xml" encoding="iso-8859-1"/>
</xsl:stylesheet>
<?xml version="1.0" encoding="iso-8859-1" ?>
  
    hydrogène
    H
    1
    1
    
.....

 feuille4.xsl  appliquée sur atomes.xml --> résultat
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  
  <xsl:output method="html"/>
  <xsl:template match="classification_atomique">
    <html><body>
      <xsl:apply-templates/>
    </body></html>
  </xsl:template>
  <xsl:template match="atome">
    <p>
      <xsl:apply-templates/>
    </p>
  </xsl:template>
  
</xsl:stylesheet>
<html>
   <body>   
      <p>
         hydrog&egrave;ne
         H
         1
         1       
      </p>
      
      <p>
         h&eacute;lium
         He
         2
         4
         gaz rare
....

La feuille3 spécifie que le document produit sera conforme à xml avec un codage latin1.

La feuille 4 spécifie que le document produit sera conforme à html et définit les tags html à générer. Remarquons que seules les balises préfixées par le namespace xsl sont interprétées par le processor XSL.

<xsl:output [method="xml|html|text|..."] [encoding="codage"] [indent="yes|no"] />
définit le format du document produit, avec éventuellement l'indentation adéquate.

 feuille4b.xsl  appliquée sur atomes.xml --> résultat
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="html"/>
  <xsl:strip-space elements="atome"/>
  <xsl:template match="classification_atomique">
    <html><body>
      <xsl:apply-templates/>
    </body></html>
  </xsl:template>
  <xsl:template match="atome">
    <p>
      <xsl:apply-templates/>
    </p>
  </xsl:template>
</xsl:stylesheet>
<html>
<body>
  
<p>hydrog&egrave;neH11</p>
  
<p>h&eacute;liumHe24gaz rare</p>
  
<p>lithiumLi37m&eacute;tal alcalin</p>
  
<p>b&eacute;rilliumBe49m&eacute;tal alcalino-terreux</p>
  
<p>boreB511non m&eacute;tal</p>
  
<p>carboneC612non m&eacute;tal</p>
  
<p>azoteN714non m&eacute;tal</p>
  
<p>oxyg&egrave;neO816non m&eacute;tal</p>
  
<p>fluorF919non m&eacute;tal</p>
  
<p>n&eacute;onNe1020gaz rare</p>
  
<p>sodiumNa1123m&eacute;tal alcalin</p>
  
<p>magn&eacute;siumMg1224m&eacute;tal alcalino-terreux</p>
  
<p>aluminiumAl1327autre m&eacute;tal</p>
  
<p>siliciumSi1428non m&eacute;tal</p>
  
<p>argonAr1840gaz rare</p>
</body>
</html>
   

Les textes blancs et équivalent (whitespace character #x20  #x9  #xD  #xA) sont éliminés.

<xsl:strip-space elements="liste_d_éléments" />
<xsl:preserve-space elements="liste_d_éléments" />
xsl:strip-space (inversement xsl preserve-space) indique dans le document source quel sont les sous-arbres de racine figurant dans la liste_d_éléments, où sont éliminés (resp. préservés) les éléments "text à blanc".

 index  suivant