我在使用xsl中的if/else條件時遇到了問題。在下面的代碼片段中,我有一個從數據庫值中獲取其值的表。最初,我的代碼看起來像如何使用If/Else在表格上選擇默認值
<fo:table-body>
<xsl:for-each select="//ROWSET3_ROW">
<fo:table-row>
<fo:table-cell xsl:use-attribute-sets="cell">
<fo:block>
<xsl:value-of select = "MODIFICATION_NUMBER" />
</fo:block>
</fo:table-cell>
<fo:table-cell xsl:use-attribute-sets="cell">
<fo:block>
<xsl:value-of select = "STATUS_DATE" />
</fo:block>
</fo:table-cell>
.
.
....
凡MODIFICATION_NUMBER,STATUS_DATE,和其他屬性來從XML表:
<ROWSET3>
<ROWSET3_ROW>
<MODIFICATION_NUMBER>0</MODIFICATION_NUMBER>
<SURVEY_JOB_STATUS_ID />
<STATUS_DATE>5/13/2008</STATUS_DATE>
<STATUS_NOTES />
在某些情況下,也有在數據庫中,這些值空值,所以我試圖把條件放在那些沒有值的列上。所以,如果選擇的值是NULL,那麼在那裏放一個隨機字符,比如' - '。我的代碼似乎沒有工作
<fo:table-cell xsl:use-attribute-sets="cell">
<fo:block>
<xsl:value-of select = "30" />
<xsl:choose>
<xsl:when test = "STATUS_NOTES != ''">
<xsl:value-of select = "STATUS_NOTES"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select = "blank" />
</xsl:otherwise>
</xsl:choose>
</fo:block>
</fo:table-cell>
這是我試圖做的。任何幫助將不勝感激。
'值的選擇=「BL ank「會插入當前模式中名爲'blank'的第一個子元素的值(或者在更可能的情況下沒有這個元素的情況下爲空字符串)。如果你想讓文字字符串「空白」而不是使用'xsl:text',或者只用'空白 xsl:otherwise>' –
2013-04-09 19:55:27
如果OP想要使用' - ',他需要寫' ' –
Hanno
2013-04-09 19:58:44