Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El término NaN, que significa "not a number" (no un número), es una entidad simbólica que representa un valor no disponible de otro modo en formato de punto flotante.
Existen dos tipos de NaNs.
- Quiet
Representa valores desconocidos o no iniciados
- Signaling
Representa valores simbólicos y valores que son demasiado grandes o demasiado precisos para el formato. Los NaNs de señalización (signaling) producen una excepción de operación no válida siempre que se intente una operación sobre ellos.
Ejemplo de código
En el siguiente ejemplo se compara un valor cualquiera con un valore NaN.
Archivo XML (NaNValues.xml)
<?xml version='1.0'?>
<?xml-stylesheet type="text/xsl" href="NaNValues.xsl" ?>
<items>
<item>100</item>
<item>ABC</item>
</items>
Archivo 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>
Resultados
Éste es el resultado:
100 is a number. ABC is a string.