跟我學XSL(五)

2021-04-16 15:22:11 字數 739 閱讀 2150

上期我們學習了xsl元素< xsl:if >,已能通過測試xml資料的值來決定不同的輸出形式(不知你嘗試過沒有,實際上< xsl:for-each >也可部分實現< xsl:if >的功能),但有時,我們希望對同一資料同時測試多個條件,根據不同條件輸出相應結果。當然,我們可以用if,假如我們只有if可用的話。幸好我們有乙個更好的選擇,那就是用< xsl:choose >。下面介紹相關元素的語法:

< xsl:choose >

語法:< xsl:choose >

屬性:無,表示乙個多選測試的開始

< xsl:when >

語法:

< xsl:when expr="script-expression" language="language-name" test="pattern" >

屬性:expr ── 指令碼語言表示式,計算結果為「真」或「假」;如果結果為「真」,且通過test,則在輸出中顯示其中內容(可省略此項屬性)。

language ── expr屬性中表示式的指令碼語言型別,其取值與html標記script的language屬性的取值相同,預設為「jscript」。

test ── 源資料測試條件。

< xsl:otherwise >

語法:< xsl:otherwise >

屬性:無,在乙個多選測試中,如果沒有不滿足< xsl:when >規定的條件,如果在最後有此標記,則輸出此標記中的內容。

示例:

跟我學XSL(五)

上期我們學習了xsl元素 xsl if 已能通過測試xml資料的值來決定不同的輸出形式 不知你嘗試過沒有,實際上 xsl for each 也可部分實現 xsl if 的功能 但有時,我們希望對同一資料同時測試多個條件,根據不同條件輸出相應結果。當然,我們可以用if,假如我們只有if可用的話。幸好我...

跟我學XSL(五)

xsl中的choose 上期我們學習了xsl元素 xsl if 已能通過測試xml資料的值來決定不同的輸出形式 不知你嘗試過沒有,實際上 xsl for each 也可部分實現 xsl if 的功能 但有時,我們希望對同一資料同時測試多個條件,根據不同條件輸出相應結果。當然,我們可以用if,假如我們...

跟我學XSL(六)

今天我們學習xsl的各種運算子,滿足編寫更大靈活性的xsl樣式的要求。表 一 運算子與特殊字元 運算子描述選擇子元素,返回左側元素的直接子元素 如果 位於最左側表示選擇根結點的直接子元素 遞迴下降,不論深度,搜尋指定的元素 如果位於最左側表示從根結點出發遞迴下降搜尋指定元素 表示當前元素 萬用字元,...