Fonction boolean() |
Convertit son argument en valeur booléenne.
Entrées
Un objet. L'objet est converti en valeur booléenne. La conversion est décrite dans la sous-section suivante.
Sortie
La valeur booléenne correspondant à l'objet d'entrée. Les objets sont convertis en valeurs booléennes comme suit : Un nombre est true si et seulement si il ne s'agit pas du zéro, du zéro négatif ou de la valeur NaN (qui n'est pas un nombre). Un ensemble de nœuds est true si et seulement si il n'est pas vide. Une chaîne est true si et seulement si sa longueur est supérieure à zéro. Tous les autres types de données font l'objet d'une conversion spécifique à leur type.
Définie dans
XPath section 4.3, Fonctions booléennes.
Exemple
L'exemple suivant présente les résultats de l'invocation de la fonction boolean() en fonction de plusieurs types d'argument. Le document XML est le suivant :
    <?xml version="1.0"?>
    <test>
    <p>This is a test XML document used by several
    of our sample stylesheets.</p>
    <question>
    <text>When completed, the Eiffel Tower was the
    tallest building in the world.</text>
    <true>Yes!  The Eiffel Tower was the world's
    tallest building until 1932, when
    New York's Empire State Building opened. </true>
    <false>No, the Eiffel Tower was the world's tallest
    building for over 30 years.</false>
    </question>
    </test>
Ce document est traité par la feuille de style suivante :
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

      <xsl:output method="text"/>

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

      <xsl:template match="/">
        <xsl:value-of select="$newline"/>
        <xsl:text>Tests of the boolean() function:</xsl:text>

        <xsl:value-of select="$newline"/>
        <xsl:value-of select="$newline"/>
        <xsl:choose>
          <xsl:when test="boolean(true())">
            <xsl:text>   "boolean(true())"   returned true!</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>   "boolean(true())"   returned false!</xsl:text>
          </xsl:otherwise>
        </xsl:choose>

        <xsl:value-of select="$newline"/>
        <xsl:choose>
          <xsl:when test="boolean(true)">

            <xsl:text>   "boolean(true)"     returned true!</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>   "boolean(true)"     returned false!</xsl:text>
          </xsl:otherwise>
        </xsl:choose>

        <xsl:value-of select="$newline"/>
        <xsl:choose>
          <xsl:when test="boolean('false')">
            <xsl:text>   "boolean('false')"  returned true!</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>   "boolean('false')"  returned false!</xsl:text>
          </xsl:otherwise>
        </xsl:choose>

        <xsl:value-of select="$newline"/>
        <xsl:choose>
          <xsl:when test="boolean('7')">
            <xsl:text>   "boolean('7')"      returned true!</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>   "boolean('7')"      returned false!</xsl:text>
          </xsl:otherwise>
        </xsl:choose>

        <xsl:value-of select="$newline"/>
        <xsl:choose>
          <xsl:when test="boolean(/true)">
            <xsl:text>   "boolean(/true)"    returned true!</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>   "boolean(/true)"    returned false!</xsl:text>
          </xsl:otherwise>
        </xsl:choose>

        <xsl:value-of select="$newline"/>
        <xsl:choose>
          <xsl:when test="boolean(//true)">
            <xsl:text>   "boolean(//true)"   returned true!</xsl:text>
          </xsl:when>
          <xsl:otherwise>
            <xsl:text>   "boolean(//true)"   returned false!</xsl:text>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:template>

    </xsl:stylesheet>
Les résultats sont les suivants :
    Tests of the boolean() function:

       "boolean(true())"   returned true!
       "boolean(true)"     returned false!
       "boolean('false')"  returned true!
       "boolean('7')"      returned true!
       "boolean(/true)"    returned false!
       "boolean(//true)"   returned true!
Voir Section 4.2.1.2 du Chapitre 4 pour des exemples supplémentaires et de plus amples informations.