2013-03-13 61 views
0

当我尝试使用XSL显示XML数据时,出现以下错误。 VBScript函数会抛出此错误:vbScript函数返回无法转换为XSL数据类型的值

函数“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

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

+0

好酷thanx @ JLRishe,我的函数必须看起来像返回一个值或一个空字符串? – 2013-03-13 08:27:28

+0

我想通了。我将我的函数设置为null以返回空值。像这样: 功能SETCLIENTID(ID) *** SETCLIENTID = “” *** 客户端ID = ID 端功能 非常感谢@JLRishe – 2013-03-13 10:48:35

相关问题