Как оценить xsl: если для чисел? - PullRequest
0 голосов
/ 15 октября 2019

https://xsltfiddle.liberty -development.net / pPJ8LV9

<person age="18"/>

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="3.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xsl:output method="text" omit-xml-declaration="yes" indent="no"/>


    <xsl:template match="person">
      <xsl:variable name="given" select="12" />

      <xs:if test="(@age &lt; $given)">
          <xsl:value-of select="(@age &lt; $given)"/>
          <xsl:text>&#10;</xsl:text>
          <xsl:text>SHOULD NOT PRING</xsl:text>
      </xs:if>

  </xsl:template>
</xsl:stylesheet>

Результат:

false
SHOULD NOT PRING

Почему на землеэто печатает, когда условие очевидно оценивается как false?

1 Ответ

1 голос
/ 15 октября 2019

Вам нужно изменить:

xs:if

на:

xsl:if

То, что у вас сейчас есть, это не условие, а буквальный элемент результата. Это можно увидеть, если изменить метод вывода на xml.


PS Не уверен, зачем вам нужны скобки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...