Как встроить HTML-код, созданный на C #, в XSL? - PullRequest
1 голос
/ 23 февраля 2010

У меня есть XSLT, который создает HTML из XML. Есть несколько частей итогового HTML, которые мне нужно создать с помощью внешнего метода C # (метод расширения).

  1. Как мне внедрить этот метод C # в XSLT (в каких узлах xsl? Я знаю, как использовать общие функции расширения внутри XSLT)
  2. Что должна вернуть моя функция C #? HTML-форматированная строка? С экранированными тегами HTML или без?

Большое спасибо!

1 Ответ

0 голосов
/ 23 февраля 2010

Что ж, если вы хотите вернуть суп HTML-тега, не соответствующий правилам XML, вы можете только вернуть строку и затем использовать, например, например. <xsl:value-of select="pf:yourFunction()" disable-output-escaping="yes"/>. Если вы хотите создать набор узлов или фрагмент результирующего дерева, то проверьте документацию , она показывает соответствие между типами XSLT и типами платформы .NET, например, если вы хотите, чтобы ваша функция возвращала результат, который XSLT видит как набор узлов, тогда используйте тип XPathNodeIterator в качестве .NET-возвращаемого типа вашей функции расширения.

...