как сравнить 0,00 до -0,00 в xsl, чтобы результат говорил, что они равны

#xslt

Вопрос:

У меня есть такой xml:

 <?xml version='1.0' encoding='UTF-8'?>
<data>
    <point>
        <x>0.000</x>
        <y>100.0</y>
    </point>
    <point>
        <x>-0.000</x>
        <y>100.0</y>
    </point>
</data>
 

Я применяю этот вид xsl к этому

 <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <xsl:variable name="point1_x" select="data/point[1]/x/text()"/>
        <xsl:variable name="point2_x" select="data/point[2]/x/text()"/>
        <xsl:if test="$point1_x != $point2_x">x values are different</xsl:if>
        <xsl:if test="$point1_x = $point2_x">x values are same</xsl:if>
    </xsl:template>
</xsl:stylesheet>
 

Я получаю результат, что «значения x разные».

Я хочу, чтобы «значения x были одинаковыми».

Кто-нибудь может, пожалуйста, подсказать, как это сделать? Спасибо.

Ответ №1:

Сравните цифры:

    <xsl:variable name="point1_x" select="number(data/point[1]/x)"/>
   <xsl:variable name="point2_x" select="number(data/point[2]/x)"/>