#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)"/>