<xsl:when> XSLT

При обработке xsl:choose процессор поочередно вычисляет выражения, содержащиеся в атрибутах test элементов xsl:when, приводит их к булевому типу и выполняет содержимое первого (и только первого) элемента, тестовое выражение которого будет равно true.

Элементы-родители:

Синтаксис

XSLT 1.0, XSLT 2.0 и XSLT 3.0

<xsl:when
    test = "выражение">
    <!-- Содержимое: шаблон -->
</xsl:when>

Атрибуты

  • testобязательный атрибут, от результата которого зависит, выполнится ли шаблон внутри элемента xsl:when

Спецификация

Описание и примеры

Пример 1

В следующем примере пункты в упорядоченном списке нумеруются с помощью арабских цифр, букв или римских цифр в зависимости от глубины вложенности упорядоченных списков.

<xsl:template match="orderedlist/listitem">
    <fo:list-item indent-start='2pi'>
        <fo:list-item-label>
            <xsl:variable name="level" select="count( ancestor::orderedlist ) mod 3" />
            <xsl:choose>
                <xsl:when test="$level = 1">
                    <xsl:number format="i" />
                </xsl:when>
                <xsl:when test="$level = 2">
                    <xsl:number format="a" />
                </xsl:when>
                <xsl:otherwise>
                    <xsl:number format="1" />
                </xsl:otherwise>
            </xsl:choose>
            <xsl:text>. </xsl:text>
        </fo:list-item-label>
        <fo:list-item-body>
            <xsl:apply-templates />
        </fo:list-item-body>
    </fo:list-item>
</xsl:template>

См. также

Ссылки

MDN xsl:when на MDN
MSDN xsl:when на MSDN