Проблема XSLT, связанная с шаблоном вызова и параметром - PullRequest
1 голос
/ 19 июня 2010

Я бьюсь головой о стену, пытаясь понять, почему это не сработает:

<xsl:call-template name="test-template">
    <xsl:with-param name="item" select="WTF" />
</xsl:call-template>

<xsl:template name="test-template">
    <xsl:param name="item" />
    -~<xsl:value-of select="$item" />~-
</xsl:template>

Вывод: -~~-, когда я хочу -~WTF~-

Ответы [ 2 ]

6 голосов
/ 19 июня 2010

Прежде всего, как сказал RonK, имена ваших параметров должны совпадать.

Кроме того, если вы хотите передать значение "WTF" (вместо узла XML "WTF"), вы должны заключить его в одинарные кавычки:

<xsl:call-template name="test-template">
    <xsl:with-param name="item" select="'WTF'" />
</xsl:call-template>

<xsl:template name="test-template">
    <xsl:param name="item" />
    -~<xsl:value-of select="$item" />~-
</xsl:template>
2 голосов
/ 19 июня 2010

Я давно не касался XSLT, но думаю, что имена ваших параметров должны совпадать. Значение:

<xsl:call-template name="test-template">
    <xsl:with-param name="is-item-page" select="WTF" />
</xsl:call-template>

<xsl:template name="test-template">
    <xsl:param name="is-item-page" />
    -~<xsl:value-of select="$item" />~-
</xsl:template>

Попробуй.

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