Как использовать значение переменных XSLT? - PullRequest
2 голосов
/ 29 марта 2009

Я пытаюсь выучить XSLT. Я просто схожу с ума. Переменные должны быть объявлены в сущности xsl: variable и созданы с их именами, имеющими символ $ непосредственно перед ними (как переменные perl), верно? С какой стати этот код:

<xsl:stylesheet version="1.0"  
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
        <xsl:variable name="color" select="'red'" />
        <p>$color</p>
    </xsl:template>
</xsl:stylesheet>

приводит к буквальной строке: "$ color" записывается при разборе простого непустого XML-документа с использованием синтаксического анализатора msxsl? Большое спасибо

Ответы [ 4 ]

17 голосов
/ 29 марта 2009

Используйте <xsl:value-of select="$color"/> вместо записи $color непосредственно в документ.

См. Также этот вопрос .

11 голосов
/ 29 марта 2009

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

<span style="color:{$color}" />
2 голосов
/ 29 марта 2009

Хорошее практическое правило для xslt: если это не тег <xsl:foo>, это не код Это вывод.

2 голосов
/ 29 марта 2009

С какой стати этот код: ...

<xsl:variable name="color" select="'red'" /> <p>$color</p>

приводит к буквальной строке: «$ color» пишется

Поскольку этот код означает: выведите строку $ color в качестве дочернего элемента текстового узла <p> элемента .

Чтобы вывести значение переменной $color xsl:, используйте одно из следующих:

  • <xsl:value-of select="$color"/>
  • <xsl:copy-of select="$color"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...