带有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类型。