File: Data.xml <?xml version="1.0" encoding="utf-8"?> <data> <text>124</text> <text>1 2 4</text> <text>-16</text> <text>- 16</text> <text>125.258</text> <text>125.</text> <text>ASDF</text> <text>A123</text> <text>true</text> <text>false()</text> </data> File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <TABLE border="1"> <TR> <td>text</TH> <td>number</TH> </TR> <xsl:for-each select="//text"> <TR> <TD> <xsl:value-of select="."/> </TD> <TD> <xsl:value-of select="number()"/> </TD> </TR> </xsl:for-each> </TABLE> </xsl:template> </xsl:stylesheet> Output: <?xml version="1.0" encoding="UTF-8"?><TABLE border="1"><TR><td>text</TH><td>number</TH></TR><TR><TD>124</TD><TD>124</TD></TR><TR><TD>1 2 4</TD><TD>NaN</TD></TR><TR><TD>-16</TD><TD>-16</TD></TR><TR><TD>- 16</TD><TD>NaN</TD></TR><TR><TD>125.258</TD><TD>125.258</TD></TR><TR><TD>125.</TD><TD>125</TD></TR><TR><TD>ASDF</TD><TD>NaN</TD></TR><TR><TD>A123</TD><TD>NaN</TD></TR><TR><TD>true</TD><TD>NaN</TD></TR><TR><TD>false()</TD><TD>NaN</TD></TR></TABLE>