我想为XSL创建一个函数,以解析“由管理员在2013-05-13T10:02:17插入”中的文件,如“{0}在{1}处插入”。我使用XSL 1.0并在.NET中定义自己的函数。我试试这个
Public Class MyStringExtension
Public Function Format(ByVal value As String, ByVal ParamArray args As String()) As String
Return String.Format(value, args)
End Function
End Class
<xsl:value-of select="MyStringExtensionNamespace:Format('Inserted by {0} at {1}', 'Admin', '2013-05-13T10:02:17')" />
似乎ParamArray
选项不起作用,或者在这种情况下可能不允许。有任何其他功能,我没有问题。有没有办法定义一个允许多个参数的函数,而无需为每个可能的函数定义。 (类似于concat('Param 1', ' Param 2', 'Param 3', 'Param 4', 'Param 5', ...)
)
答案 0 :(得分:0)
您可以在XSL中执行此操作:
<func:function name = "formatMyString">
<xsl:param name="firstParam" />
<xsl:param name="secondParam" />
<func:result select="concat('Inserted by ', $firstParam,' at ', $secondparam)"/>
</func:function>