1

我想为 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', ...)

4

1 回答 1

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>
于 2013-05-23T08:44:34.077 回答