English | >> Français << | Deutsch | Magyar | 中文 | Polski ZVON > Tutorials > XSLT Tutorial
>> Page 43 << | Précédent | Suivant | Contenu | Index des éléments

Dans la Feuille de style XSLT 1 , des chaînes de caractères constituent les arguments de la fonction boolean(). Une chaîne de caractères est vraie si et seulement si sa longueur n'est pas nulle. Dans la Feuille de style XSLT 2 , le texte est converti en nombres, puis soumis à la fonction boolean(). Feuille de style XSLT 3 compare "0" en tant que chaîne de caractères et en tant que nombre. Feuille de style XSLT 4 emploie des ensembles de noeuds comme arguments de la fonction boolean().

Feuille de style XSLT 1

Source XML
<source>

<text>124</text>
<text>AB234</text>
<text>-16</text>
<text>0</text>
<text/>
<text>false</text>

</source>

Sortie
<TABLE border="1">
  <TR>
     <TH>text</TH>
     <TH>boolean</TH>
  </TR>
  <TR>
     <TD>124</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>AB234</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>-16</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>0</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD/>
     <TD>false</TD>
  </TR>
  <TR>
     <TD>false</TD>
     <TD>true</TD>
  </TR>
</TABLE>

Vue HTML
text boolean
124 true
AB234 true
-16 true
0 true
false
false true
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH>text</TH>
               <TH>boolean</TH>
          </TR>
          <xsl:for-each select="//text">
               <TR>
                    <TD>
                         <xsl:value-of select="."/>
                         <xsl:text/>
                    </TD>
                    <TD>
                         <xsl:value-of select="boolean(text())"/>
                    </TD>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>


Feuille de style XSLT 2

Source XML
<source>

<text>124</text>
<text>AB234</text>
<text>-16</text>
<text>0</text>
<text/>
<text>false</text>

</source>

Sortie
<TABLE border="1">
  <TR>
     <TH>text</TH>
     <TH>number</TH>
     <TH>boolean</TH>
  </TR>
  <TR>
     <TD>124</TD>
     <TD>124</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>AB234</TD>
     <TD>NaN</TD>
     <TD>false</TD>
  </TR>
  <TR>
     <TD>-16</TD>
     <TD>-16</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>0</TD>
     <TD>0</TD>
     <TD>false</TD>
  </TR>
  <TR>
     <TD/>
     <TD>NaN</TD>
     <TD>false</TD>
  </TR>
  <TR>
     <TD>false</TD>
     <TD>NaN</TD>
     <TD>false</TD>
  </TR>
</TABLE>

Vue HTML
text number boolean
124 124 true
AB234 NaN false
-16 -16 true
0 0 false
NaN false
false NaN false
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH>text</TH>
               <TH>number</TH>
               <TH>boolean</TH>
          </TR>
          <xsl:for-each select="//text">
               <TR>
                    <TD>
                         <xsl:value-of select="."/>
                         <xsl:text/>
                    </TD>
                    <TD>
                         <xsl:value-of select="number(text())"/>
                         <xsl:text/>
                    </TD>
                    <TD>
                         <xsl:value-of select="boolean(number(text()))"/>
                    </TD>
               </TR>
          </xsl:for-each>
     </TABLE>
</xsl:template>


</xsl:stylesheet>


Feuille de style XSLT 3

Source XML
<source>

<text>124</text>
<text>AB234</text>
<text>-16</text>
<text>0</text>
<text/>
<text>false</text>

</source>

Sortie
<P>The boolean value of "0" is <B>true</B> if "0" is a string, but <B>false</B> if "0" is a number.</P>

Vue HTML

The boolean value of "0" is true if "0" is a string, but false if "0" is a number.

Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <P>
          <xsl:text>The boolean value of "0" is </xsl:text>
          <B>
               <xsl:value-of select="boolean(//text[text()='0'])"/>
          </B>
          <xsl:text> if "0" is a string, but </xsl:text>
          <B>
               <xsl:value-of select="boolean(number((//text[text()='0'])))"/>
          </B>
          <xsl:text> if "0" is a number.</xsl:text>
     </P>
</xsl:template>


</xsl:stylesheet>


Feuille de style XSLT 4

Source XML
<source>

<text>124</text>
<text>AB234</text>
<text>-16</text>
<text>0</text>
<text/>
<text>false</text>

</source>

Sortie
<TABLE border="1">
  <TR>
     <TH>node-set</TH>
     <TH>boolean</TH>
  </TR>
  <TR>
     <TD>/</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>//text</TD>
     <TD>true</TD>
  </TR>
  <TR>
     <TD>//number</TD>
     <TD>false</TD>
  </TR>
  <TR>
     <TD>//text[23]</TD>
     <TD>false</TD>
  </TR>
</TABLE>

Vue HTML
node-set boolean
/ true
//text true
//number false
//text[23] false
Feuille de style XSLT
<xsl:stylesheet version = '1.0'
     xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>

<xsl:template match="/">
     <TABLE border="1">
          <TR>
               <TH>node-set</TH>
               <TH>boolean</TH>
          </TR>
          <TR>
               <TD>
                    <xsl:text>/</xsl:text>
               </TD>
               <TD>
                    <xsl:value-of select="boolean(/)"/>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:text>//text</xsl:text>
               </TD>
               <TD>
                    <xsl:value-of select="boolean(//text)"/>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:text>//number</xsl:text>
               </TD>
               <TD>
                    <xsl:value-of select="boolean(//number)"/>
               </TD>
          </TR>
          <TR>
               <TD>
                    <xsl:text>//text[23]</xsl:text>
               </TD>
               <TD>
                    <xsl:value-of select="boolean(//text[23])"/>
               </TD>
          </TR>
     </TABLE>
</xsl:template>


</xsl:stylesheet>