XSLT определяет, является ли параметр нулевым или пустым, затем что-то сделайте - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь определить, является ли ../../coupon_code нулевым или пустым. Я пробовал методы в этом потоке Проверить, является ли строка нулевой или пустой в XSLT безрезультатно. Может я что-то делаю не так?

<!--Coupon Code Name and Code-->
<xsl:choose>
    <xsl:when test="not(../../coupon_code)">
        <xsl:if test="../../coupon_code != ''"> 
            <xsl:value-of select="../../coupon_rule_name" /> <xsl:value-of select="../../coupon_code" /><xsl:value-of select="$sepend" />D.PROMOTION<xsl:value-of select="$sepend" />
        </xsl:if> 
    </xsl:when>
    <xsl:otherwise>
    </xsl:otherwise>
</xsl:choose>
<!--End Coupon Code Name and Code-->

Я делаю

<xsl:when test="not(../../coupon_code)">

Чтобы определить, является ли он нулевым. Затем я делаю

<xsl:if test="../../coupon_code != ''"> 

, чтобы определить, пуст ли он.

Однако я смотрю на данные, которые явно заполнены, и не вводят when/if в отображать данные вообще. Так что где-то происходит сбой, и я не знаю где.

Иногда, ../../coupon_code будет содержать код купона, например, COUPON122. Иногда в нем ничего не будет.

1 Ответ

1 голос
/ 05 августа 2020

Вы можете проверить

<xsl:if test="normalize-space(../../coupon_code)">
  <xsl:value-of select="../../coupon_rule_name" /> <xsl:value-of select="../../coupon_code" /><xsl:value-of select="$sepend" />D.PROMOTION<xsl:value-of select="$sepend" />
</xsl:if>

, чтобы xsl:value-of обрабатывались, только если элемент ../../coupon_code имеет какое-то непробельное содержимое.

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