<xsl:preserve-space>  
Définit les éléments du document source pour lesquels il faut conserver un espace blanc.
 
Catégorie

Elément de niveau supérieur

 
Attributs obligatoires
elements
Cet attribut définit les éléments pour lesquels il faut conserver un espace blanc. Si vous devez définir plusieurs éléments, séparez leurs noms par un ou plusieurs espaces blancs.

 
Attributs facultatifs

Aucun.

 
Contenu

Aucun. <xsl:preserve-space> est un élément vide.

 
Apparaît dans

L'élément <preserve-space> est un élément de niveau supérieur qui ne peut apparaître que sous forme d'enfant de l'élément <xsl:stylesheet> .

 
Défini dans

XSLT section 3.4, Extraction des espaces blancs.

 
Exemple

La feuille de style suivante illustre le fonctionnement de l'élément <preserve-space> :

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <xsl:output method="text"/>
  <xsl:preserve-space elements="listing"/>

  <xsl:variable name="newline">
<xsl:text>
</xsl:text>
  </xsl:variable>

  <xsl:template match="/">
    <xsl:value-of select="$newline"/>
    <xsl:value-of select="/code-sample/title"/>
    <xsl:value-of select="$newline"/>
    <xsl:for-each select="/code-sample/listing">
      <xsl:value-of select="."/>
    </xsl:for-each>
  </xsl:template>

</xsl:stylesheet>

La feuille de style est utilisée pour traiter le document suivant :

<?xml version="1.0"?>
<code-sample>
  <title>Conditional variable initialization</title>
  <listing>
  <type>int</type> <variable>y</variable> = <constant>23</constant>;
  <type>int</type> <variable>x</variable>;
    <keyword>if</keyword> (<variable>y</variable> > <constant>10</constant>)
    <variable>x</variable> = <constant>5</constant>;
  <keyword>else</keyword> 
    <keyword>if</keyword> (<variable>y</variable> > <constant>5</constant>)
      <variable>x</variable> = <constant>3</constant>;
  <keyword>else</keyword> 
    <variable>x</variable> = <constant>1</constant>;
  </listing>
</code-sample>
      

L'utilisation de la feuille de style pour traiter ce document a permis d'obtenir les résultats suivants :


Conditional variable initialization

  int y = 23;
  int x;
    if (y > 10)
    x = 5;
  else
    if (y > 5)
      x = 3;
  else
    x = 1;

Vous pouvez comparer cet exemple à celui utilisé pour l'élément <strip-space>.