Valeurs NaN (XSLT)
Le terme NaN, qui signifie « not a number », désigne une entité symbolique représentant une valeur non disponible autrement dans le format à virgule flottante.
Il y a deux sortes de valeurs NaN.
Quiet
Représente des valeurs inconnues ou non initialisées.Signaling
Représente des valeurs symboliques et des valeurs trop grandes ou trop précises pour le format. Les valeurs NaN de signalisation produisent une exception pour opération non valide lorsqu'une opération leur est appliquée.
Exemple de code
L'exemple suivant montre comment comparer toute valeur à une valeur NaN.
Fichier XML (NaNValues.xml)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="NaNValues.xsl" ?>
<items>
<item>100</item>
<item>ABC</item>
</items>
Fichier XSLT (NaNValues.xsl)
<?xml version='1.0'?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:template match="items">
<xsl:for-each select="item">
<xsl:call-template name="IsNaN"/>
</xsl:for-each>
</xsl:template>
<xsl:template name="IsNaN">
<!-- Parameter defined here -->
<xsl:param name="var" select="."/>
<xsl:value-of select="$var"/>
<xsl:if test="string(number($var)) = 'NaN'"> is a string. </xsl:if>
<xsl:if test="string(number($var)) != 'NaN'"> is a number. </xsl:if>
</xsl:template>
</xsl:stylesheet>
Sortie
Il s'agit de la sortie :
100 is a number. ABC is a string.