left up right
Strings and Numbers: Is It Different?
<tests>
<test1 ab="8" cd="10" />
<test1 ef="'8'" gh="'10'" /> Both strings
</tests>

                                                  1.0     2.0
<xsl:when test="@cd > '4'"      >TRUE</xsl:when>  TRUE   FALSE
<xsl:when test="@cd > 4"        >TRUE</xsl:when>  TRUE   TRUE
<xsl:when test="@cd > number(4)">TRUE</xsl:when>  TRUE   TRUE
<xsl:when test="@gh > 4"        >TRUE</xsl:when>  FALSE  Validation Error

Results are different. Some coercions take place in XSLT 2.0 so results are not easily predicted.