Предполагая, что у вас есть импорт пространства имен в верхней части вашего XSL для использования объекта расширения .NET XSLT (я не могу вспомнить точный синтаксис), я думаю, вам действительно нужно изменить код C #, чтобы он возвращал XPathNodeIterator
объект.
Есть страница MSDN , которая объясняет параметры XSLT, но я думаю, что таблица типов все еще применяется к методам объекта расширения XSLT. Это может быть полезно. По сути, если вы хотите, чтобы XSL итерировал что-то из метода .NET, вам придется возвращать что-то более богатое, чем строка.