当我尝试使用XSL显示XML数据时,得到以下错误。VBScript函数抛出这个错误:
函数" myfunctionname "返回一个不能转换为XSL数据类型的值。原因是什么呢?
代码截图如下:1. xml
<Client>
<ClientID>34987886</ClientID>
<LnkSeqNo>1</LnkSeqNo>
</Client>
2。XSL代码,功能。
Dim ClientID
function SetClientID(ID)
ClientID = ID
end function
…
<xsl:for-each select="Object/Client">
<xsl:if test="LnkSeqNo[. = '1' or . = '57']">
<xsl:value-of disable-output-escaping="yes" select="vbs:SetClientID(string(ClientID))"/>
..
</xsl:if>
</xsl:for-each>
问题是您的函数根本不返回任何值,而xsl:value
期望一个值。如果你只想执行函数而不输出任何东西,你可能会让函数返回一个空字符串,但是我建议重新考虑你的方法。在XSLT中使用带有副作用的函数通常不是好的做法,而且与XSLT的原则背道而驰。