跟我學xml和XSL

2021-03-31 13:58:50 字數 2199 閱讀 4398

5070

3010

乙班 

2030

4050

丙班 

7040

2010

我們採用xsl模板結合今天所學的,為其編寫乙個xsl文件,要求季度產量小於等於20的用紅色表示,檔名為report.xsl,內容如下: 

2023年生產統計 班組

一季度 

二季度 

三季度 

四季度   

color:red   

說明: 

q1|q2|q3|q4 ──標記q1、q2、q3、q3均用此模板確定輸出 

$le$ ──是關係運算子中的「小於等於」,其它關係有小於($lt$)、大於($gt$)、大於等於($ge$)、等於($eq$)、不等於($ne$)等 

. ──表示引用當前標記 

[ ] ──表示篩選,只有滿足篩選條件的標記才能被選取 

value() ──xsl函式,其他常用xsl函式有text()、end()、index()等。 

下期,我們將學習xsl的另外三個元素,可對同一資料進行多次測試,根據不同條件產生相應輸出。 

跟我學xsl(五)  (返回標題) 

2000-05-07· 禹希初·cpcw

xsl中的choose

上期我們學習了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 >規定的條件,如果在最後有此標記,則輸出此標記中的內容。

示例:此處以學生成績單為例,要求按成績的高低給出優秀( >85)、一般(70~85)、起格(60~69)、不及格(< 60),而不是顯示分數。其中成績單的xml文件(檔名:grade.xml)如下: 

< ?xml version="1.0" encoding="gb2312"? >

< ?xml:stylesheet type="text/xsl" href="grade.xsl"? >

< document >

< grade >

< name >大胖< /name >< english >80< /english >

< math >90< /math >< chymest >90< /chymest >

< /grade >

< grade >

< name >小花< /name >< english >98< /english >

< math >70< /math >< chymest >85< /chymest >

< /grade >

< /document >

為實現按分數分等級顯示,其xsl文件(檔名:grade.xsl)內容如下: 

作者blog:http://blog.csdn.***/myali88/

跟我學XSL(六)

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

跟我學XSL(三)

經過前幾日的學習,我們學習了xhtml文件的編寫和以及三個xsl元素,已能編寫相當靈活的xsl文件,今天將學習的是xsl模板的編寫。我們都知道,短的文件 程式十分好讀,但當規模增大後,其複雜性也以更快的速度增加。前面我們學了 xsl for each xsl value of 等,可以用它們對xml...

跟我學XSL(五)

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