File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
<number>9</number>
<number>0</number>
<number>-9</number>
<number/>
</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:variable name="A" select="number(//number[1])"/>
<xsl:variable name="B" select="number(//number[2])"/>
<xsl:variable name="C" select="number(//number[3])"/>
<xsl:variable name="D" select="number(//number[4])"/>
<xsl:template match="/">
<Paragraph>
<xsl:value-of select="string(number($A))"/>
</Paragraph>
<Paragraph>
<xsl:value-of select="string(number($D))"/>
</Paragraph>
<Paragraph>
<xsl:value-of select="$A"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="$B"/>
<xsl:text> = </xsl:text>
<xsl:value-of select="string($A div $B)"/>
</Paragraph>
<Paragraph>
<xsl:value-of select="$C"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="$B"/>
<xsl:text> = </xsl:text>
<xsl:value-of select="string($C div $B)"/>
</Paragraph>
<Paragraph>
<xsl:value-of select="$B"/>
<xsl:text>/</xsl:text>
<xsl:value-of select="$B"/>
<xsl:text> = </xsl:text>
<xsl:value-of select="$B div $B"/>
</Paragraph>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?><Paragraph>9</Paragraph><Paragraph>NaN</Paragraph><Paragraph>9/0 = INF</Paragraph><Paragraph>-9/0 = -INF</Paragraph><Paragraph>0/0 = NaN</Paragraph>