使用 msxsl:script 从 XSLT 中使用 VBScript 扩展函数时出现错误 'Public Function Year(DateValue As Date) As Integer'
Error 'Public Function Year(DateValue As Date) As Integer' when using VBScript extension functions from within XSLT using msxsl:script
我在 XSLT 中有以下 VBScript:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://www.global-health.com"
>
<msxsl:script language="VBScript" implements-prefix="user">
<![CDATA[
...
Function Today()
Today= year(Date) & "-" & LeadNumWith0(month(Date)) & "-" & LeadNumWith0(day(Date))
End Function
]]>
</msxsl:script>
</xsl:stylesheet>
如果我使用 VS 2019 XSLT 调试器执行上述样式表,我将收到错误消息:'Public Function Year(DateValue As Date) As Integer' 没有类型参数,因此不能有类型参数。如果我将函数 Date 更改为 Now,它会起作用,Date 和 Now 都是有效的 VBScript 函数,为什么 Date 不起作用?
在 VBScript 中,使用 Now 获取当前日期:
Today = Year(Now) & "-" & Right("0" & Month(Now), 2) & "-" & Right("0" & Day(Now), 2)
我在 XSLT 中有以下 VBScript:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:user="http://www.global-health.com"
>
<msxsl:script language="VBScript" implements-prefix="user">
<![CDATA[
...
Function Today()
Today= year(Date) & "-" & LeadNumWith0(month(Date)) & "-" & LeadNumWith0(day(Date))
End Function
]]>
</msxsl:script>
</xsl:stylesheet>
如果我使用 VS 2019 XSLT 调试器执行上述样式表,我将收到错误消息:'Public Function Year(DateValue As Date) As Integer' 没有类型参数,因此不能有类型参数。如果我将函数 Date 更改为 Now,它会起作用,Date 和 Now 都是有效的 VBScript 函数,为什么 Date 不起作用?
在 VBScript 中,使用 Now 获取当前日期:
Today = Year(Now) & "-" & Right("0" & Month(Now), 2) & "-" & Right("0" & Day(Now), 2)