<xsl:when test="string(number(.))!='NaN'"> <Data ss:Type="Number"> <xsl:value-of select="."/> </Data> </xsl:when> <xsl:otherwise> <Data ss:Type="String"> <xsl:if test="(.) != 'NULL'"> <xsl:value-of select="."/> </xsl:if> </Data> </xsl:otherwise>Please let me know if it works.