带有C#扩展function的XSLT中的错误消息

尝试在XSLT中实现C#扩展函数时收到以下错误。

不支持具有CLR类型“Char []”的扩展函数参数或返回值。**

码:

      

有人可以解释这个错误信息以及如何通过它吗?

编辑:我需要一个解决方案仍然允许我实现拆分function并使用返回的数组。

谢谢!

XSLT扩展方法必须返回XSL转换中支持的类型。 下表显示了W3C XPath类型及其相应的.NET类型:

 W3C XPath类型| 等效的.NET类(类型)
 -------------------------------------------------- ----
字符串|  System.String
布尔|  System.Boolean
号码|  System.Double
结果树片段|  System.Xml.XPath.XPathNavigator类
节点集|  System.Xml.XPath.XPathNodeIterator

该表摘自本MSDN杂志文章中的 XSLT和.NET之间的映射类型部分。

而不是返回一个string[]数组,你必须返回一个XPathNodeIterator就像在下面的例子中一样:

    

在XSL转换中,您可以使用xsl:for-each迭代返回的节点集中的元素:

          

来自http://msdn.microsoft.com/en-us/library/533texsx(VS.71).aspx

由脚本函数定义的提供的参数和返回值必须是W3C XPath或XSLT类型之一。 下表显示了相应的W3C类型,等效的.NET类(Type),以及W3C类型是XPath类型还是XSLT类型。