vbScript函数返回无法转换为XSL数据类型的值

时间:2013-03-13 07:15:49

标签: xml function xslt vbscript msxsl

当我尝试使用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>

1 个答案:

答案 0 :(得分:0)

问题是你的函数根本没有返回任何值,xsl:value期望一个值。如果您只想执行该函数而不输出任何内容,您可能会让该函数返回一个空字符串,但我建议您重新考虑您的方法。在XSLT中使用带副作用的函数通常不是一种好习惯,并且违背了XSLT的原则。