Правильное выражение для сравнения переменной в XSLT - PullRequest
0 голосов
/ 16 октября 2019

Цель состоит в том, чтобы вывести «test», когда информационная переменная установлена ​​в «full». Что я здесь не так делаю?

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <html>
            <body>

                <!-- Set Variable-->
                <xsl:variable name="info" select="full" />

                <!-- Test-->
                <xsl:choose>
                    <xsl:when test="$info = 'full'">
                        <p>test</p>
                    </xsl:when>
                    <xsl:otherwise>
                        <p>test 2</p>
                    </xsl:otherwise>
                </xsl:choose>


            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

Я ищу простое решение для сравнения переменной и что-то сделать на основе, если это правда или нет. Простой пример, но он всегда выдает test2.

1 Ответ

0 голосов
/ 16 октября 2019

Ваша переменная выбирает элемент с именем full во входном XML - не строка , содержащая символы "full".

Ваш тест вернет trueесли ваш ввод оказался:

XML

<full>full</full>

Попробуйте вместо:

<xsl:variable name="info" select='"full"' />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...