Можно ли использовать переменную, которая была объявлена ​​в vb в xslt? - PullRequest
0 голосов
/ 13 октября 2011

В моем файле xslt я хочу применить шаблоны к XML, но только если идентификатор этого фрагмента содержимого в XML соответствует идентификатору, вычисленному в VB.

Надеюсь, какой-то код сделает это более понятным:

<xsl:variable name="ContentparId" select="/Page/descendant::Content/@parId"/>
<xsl:variable name="parIdfromfref" select="mnPageId"/>

<xsl:template match="Page">
    <xsl:if test="$ContentparId = $parIdfromfref">
    <xsl:apply-templates select="/Page" mode="addModule">

ContentparId - это атрибут parId содержимого в xml.Я хочу сравнить это с mnPageId, который определен в vb (внешняя ссылка передается и pageId, соответствующий этой внешней ссылке, возвращается)

Я знаю, что остальная часть кода делает то, что я хочу, чтобы она делалапотому что, если я вручную изменю mnPageId на правильный pageId, то получу желаемый xml.

Итак, возможно ли использовать переменную, объявленную в vb в xslt?Если да, то как?

1 Ответ

3 голосов
/ 13 октября 2011

Что ж, таблица стилей XSLT может иметь глобальные параметры в виде

<xsl:param name="mnPageId"/>

, которые могут быть установлены вне таблицы стилей до программного преобразования XSLT.Так что это возможный подход, определите mnPageId как глобальный параметр таблицы стилей, который ваш VB-код, выполняющий преобразование, затем устанавливает по мере необходимости.Вы можете прочитать раздел MSDN http://msdn.microsoft.com/en-us/library/dfktf882.aspx о том, как устанавливать параметры с помощью кода .NET при выполнении преобразования.

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