Расширение Xslt Objects - получение контекста - PullRequest
2 голосов
/ 20 апреля 2010

Я использую XsltArgumentList.AddExtensionObject с успехом. Проблема в том, что когда я вызываю функции из xslt, они получают только те аргументы, которые я передаю. Как я могу получить контекст (какой узел обрабатывается).

Я использую XslTransform.Transform (myXPathDoc, xslArgs, myWriter);, чтобы начать преобразование ..

Я слышал о SetContext и RegisterCustomFunction, но они, похоже, работают только на XPathExpression объектах ...

Спасибо

1 Ответ

0 голосов
/ 20 апреля 2010

Нет задокументированного способа для функции расширения неявно обращаться к узлу контекста .

Передать его в качестве параметра .

Например :

<xsl:value-of select="extFn:MyExtensionFunction(.,'A',./code,./date)"/>

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

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