Как указать "не равно" при сравнении строк в XSLT <xsl: if>? - программирование
Подтвердить что ты не робот

Как указать "не равно" при сравнении строк в XSLT <xsl: if>?

В настоящее время у меня есть xsl со следующим кодом, где я пытаюсь распечатать "count", только если он не равен N/A. но похоже, что "!=" не работает.

<xsl:for-each select="Directory/Match">
    <xsl:if test = "Count != N/A">
        <tr>
            <td><xsl:value-of select="@bookName" /></td>
            <td><xsl:value-of select="@AuthorName" /></td>
            <td><xsl:value-of select="Count" /></td>
        </tr>
    </xsl:if>
</xsl:for-each>

Однако, он работает, если я попытаюсь сравнить его с числовым значением.

Пример:

<xsl:if test = "Occurrances != 0">

Может кто-нибудь скажет мне: если я хотел бы сравнить строки, что я могу использовать?

4b9b3361

Ответ 1

Как говорит Филбурт; но также обратите внимание, что обычно лучше писать

test="not(Count = 'N/A')"

Если есть только один элемент Count, они означают одно и то же, но если нет Count или если их несколько, тогда значения различаются.

Ответ 2

Если вы хотите сравнить с строковым литералом, вам нужно поместить его в одиночные кавычки:

<xsl:if test="Count != 'N/A'">