当我尝试使用XSL显示XML数据时,我收到以下错误。 VBScript函数抛出此错误:
函数“MyFuctionName”返回一个无法转换为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>
答案 0 :(得分:0)
问题是你的函数根本没有返回任何值,xsl:value
期望一个值。如果您只想执行该函数而不输出任何内容,您可能会让该函数返回一个空字符串,但我建议您重新考虑您的方法。在XSLT中使用带副作用的函数通常不是一种好习惯,并且违背了XSLT的原则。