2017-06-05 189 views
-1

我想檢查一個鍵是否有值,如果是空來分配默認值。XSL if else語句

<xsl:element name="xtc"> 
      <xsl:choose name="type"> 
       <xsl:when test="type!= ''"/> 
       <xsl:value-of select="value"/> 
       </xsl:when> 
       <xsl:otherwise> 
        NULL 
      </xsl:otherwise> 
      </xsl:choose> 
    </xsl:element> 

是不是真的爲我工作,有人可以好好建議什麼可能會失敗。

更新 經過一番挖掘,我很確定我的代碼應該工作,但事實並非如此。

 <xsl:for-each select="webservice/parameters/parameter"> 
      <xsl:element name="{key}"> 
      <xsl:choose> 
       <xsl:when test="{key} = ''"> 
       <xsl:text>NULL</xsl:text> 
       </xsl:when> 
       <xsl:otherwise> 
       <xsl:value-of select="value"/> 
       </xsl:otherwise> 
      </xsl:choose> 
      </xsl:element> 
     </xsl:for-each> 

但我的應用程序拋出一個錯誤,

令牌 '{}鍵' 是出乎意料的。 expression ='{key} ='''剩餘的標記是:('{key}''=''''')解析樣式表時發生故障。

回答

2

您需要更換這個...

<xsl:when test="{key} = ''"> 

有了這個...

<xsl:when test="key = ''"> 

屬性值模板在這裏不適用,因爲test已經預期的表現。

+0

謝謝,這停止瞭解析錯誤。 –

+0

@ J.D但是如果測試結果爲true,那麼當您嘗試創建''時,您的樣式表會失敗。 –

+0

@ michael.hor257k爲什麼是=/ –