0

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>
4

1 に答える 1

0

問題は、関数が値をまったく返さず、値をxsl:value期待していることです。関数を実行するだけで何も出力しない場合は、おそらく関数に空の文字列を返すようにすることができますが、アプローチを再検討することをお勧めします。一般に、XSLT で副作用のある関数を使用することは適切な方法ではなく、XSLT の原則に反します。

于 2013-03-13T08:12:57.783 に答える