版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第6章可擴展樣式語言XSL
本章學習要點學習鏈接XSL到XML文檔的方法掌握模板的定義和應用熟練掌握節(jié)點的選擇方式理解如何訪問單個節(jié)點和多個節(jié)點本章學習要點學會使用函數(shù)選擇節(jié)點熟練掌握如何對輸出結(jié)果進行排序掌握如何選擇輸出節(jié)點學習XSL中的運算符和表達式鏈接XSL到XMLXML文檔XSL文檔鏈接<?xml:stylesheettype=”text/xsl”href=”URL”?>處理指令名樣式表類型樣式表地址xsl:stylesheet元素xsl:stylesheet元素是XSL文件的根元素,就像XML文件要求的那樣,在XSL文件中只能有一個根元素。<xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform">……</xsl:stylesheet>xsl:transform元素在一個XSL文件中xsl:stylesheet元素和xsl:transform元素只能出現(xiàn)一個,其用法和xsl:stylesheet元素基本相同。<xsl:transformversion="1.0"xmlns:xsl="/1999/XSL/Transform">……</xsl:transform>聯(lián)合樣式表xsl:import元素通過使用xsl:import元素,可以將一個樣式表導入到另一個樣式表中。xsl:include元素可以使用xsl:include元素包含其他的樣式表。定義模板元素xsl:template
模板的定義由xsl:template元素來實現(xiàn)。在一個XSL文件中可能會定義多個模板,每個模板都是一組規(guī)則,這組規(guī)則將特定的輸出與特定的輸入相關聯(lián),實現(xiàn)數(shù)據(jù)顯示的轉(zhuǎn)換。XSL模板自定義XML樣式表主要組件模板üüü模板規(guī)則XSLT輸出控制
模板規(guī)則模式動作xsl:template應用模板元素xsl:apply-templates在XSL中模板定義不可以嵌套。就像在C語言中函數(shù)的定義不可以嵌套一樣。這時就需要將多個模板并列定義。若想在根節(jié)點模板中使用其他元素模板,可以使用應用模板元素xsl:apply-templates。該元素可以有一個select屬性,用來指定要處理的節(jié)點集。訪問節(jié)點訪問單個節(jié)點xsl:value-of訪問多個節(jié)點xsl:for-each節(jié)點的選擇方式為模板選擇多個元素為選擇的元素添加條件使用函數(shù)選擇節(jié)點訪問單個節(jié)點xsl:value-ofxsl:value-of元素用于將節(jié)點的內(nèi)容復制到輸出結(jié)果中,指令的select屬性用于選擇被提取值的節(jié)點。<xsl:templatematch="職工">…… <xsl:value-ofselect="職工編號"/>……</xsl:template>訪問多個節(jié)點xsl:for-each<xsl:templatematch="職工列表"> …… <xsl:for-eachselect="職工"> …… <xsl:value-ofselect="職工編號"/> …… </xsl:for-each> ……</xsl:template>節(jié)點的選擇方式直接使用元素名使用通配符使用路徑選擇元素使用通配符匹配任意節(jié)點匹配任意節(jié)點使用“*|/”,即匹配當前節(jié)點及所有子節(jié)點和根節(jié)點。點號匹配符點號“.”用于匹配當前節(jié)點,包括當前節(jié)點下的所有子節(jié)點。星號匹配符星號“*”用于匹配當前節(jié)點,當星號“*”用在根節(jié)點的內(nèi)部時能夠訪問根節(jié)點下的所有子節(jié)點。使用路徑選擇元素使用絕對路徑使用相對路徑在路徑中使用星號“*”在路徑中使用“//”為模板選擇多個元素在前面的介紹中,一個模板都是應用某一個選定的節(jié)點,XSL允許一次選擇多個節(jié)點。一次選擇多個節(jié)點使用“|”。<xsl:templatematch="職工編號|姓名|性別"> <xsl:value-ofselect="."/></xsl:template>為選擇的元素添加條件在XSL中可以為選擇的元素添加限制條件,如可以限制元素必須有給定的子元素、必須有給定的屬性、必須有某個元素的值、必須有某個屬性的值,甚至可以限制某個元素的值必須為給定的字符串。為選擇的元素添加限制條件需要使用符號“[]”。為選擇的元素添加條件限制元素必須有子元素添加多個限制條件在條件中使用星號限制元素必須帶有給定屬性限制元素內(nèi)容為給定字符串限制元素屬性為給定字符串使用函數(shù)選擇節(jié)點選擇指令函數(shù):processing-instruction()選擇注釋函數(shù):comment()選擇文本函數(shù):text()選擇任意節(jié)點函數(shù):node()對輸出結(jié)果排序在IE5.0中可以使用“xsl:for-each”元素和“xsl:apply-templates”元素的“order-by”屬性來控制輸出結(jié)果的顯示順序。<xsl:templatematch="職工列表"> <xsl:apply-templatesselect="職工"order-by="+聯(lián)系電話"/></xsl:template>對輸出結(jié)果排序order屬性:設置排序次序,屬性值為“ascending”時代表升序,屬性值為“descending”時代表降序。select屬性:設置排序的關鍵字。data-type屬性:設置排序標準,屬性值為“text”時代表按照文字順序排序,屬性值為“number”時代表按照數(shù)字順序排序。使用“xsl:sort”元素運算符和表達式加法:+減法:-乘法:*除法:div關系運算符和關系表達式大于號:>大于等于號:>=小于號:<小于等于號:<=等于號:=不等于號:!=對輸出節(jié)點的選擇“xsl:if”元素“xsl:choose”元素“xsl:if”元素“xsl:if”元素提供了根據(jù)輸入文檔內(nèi)容來改變輸出文檔的簡單途徑,類似于C語言中的if語句(不含else語句)?!皒sl:if”元素的“test”屬性可以是一個關系表達式,用來計算布爾值。如果此表達式為true,即輸出“xsl:if”元素的內(nèi)容;否則,不輸出“xsl:if”元素的內(nèi)容?!皒sl:if”元素<xsl:if>元素test屬性:條件表達式,如果為真,則輸出<xsl:if>的內(nèi)容,否則不輸出<xsl:if>的內(nèi)容?!皒sl:choose”元素在XSL中不存在“xsl:else”元素與“xsl:if”相對應,但是“xsl:choose”元素可以提供這一功能。根據(jù)幾個可能的條件,“xsl:choose”元素從中選擇一個?!皒sl:when”子元素提供各種條件和相關的輸出模板。在“xsl:when”子元素中“test”屬性的設置方法與“xsl:if”元素的“test”屬性設置方法相同。即哪一個“xsl:when”元素中“test”屬性為真,就顯示哪一個“xsl:when”元素中的模板內(nèi)容。如果有多個為真,則顯示為真的第一個模板內(nèi)容。如果都不為真,則顯示“xsl:otherwise”子元素模板的內(nèi)容。“xsl:choose”元素<xsl:choose>元素用法<xsl:choose> <xsl:whentest=條件表達式> </xsl:when> …… <xsl:otherwise> </xsl:otherwise></xsl:choose>“xsl:choose”元素<td> <xsl:choose> <xsl:whentest="price1<='1000'"> <xsl:attributename="style"> border:1pxsolid#0000FF; </xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attributename="style"> border:2pxinset#6699FF;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年購房代理協(xié)議書范本
- 2025版防雷系統(tǒng)設計與施工監(jiān)督合同3篇
- 2024版年度信息技術開發(fā)與應用合同3篇
- 二零二五年度LED燈具環(huán)保產(chǎn)業(yè)投資基金合作協(xié)議
- 2024版冷鏈倉儲服務合作協(xié)議3篇
- 2024年車位租賃簡易協(xié)議范例一
- 2025年度機場航空器消毒與旅客健康保障服務合同
- 2024年金融科技平臺搭建與技術服務合同
- 世界環(huán)境日節(jié)能減排保護環(huán)境綠色低碳環(huán)保主題77
- 2025版高校教師科研合作聘用合同2篇
- 2024年保育員(初級)證考試題庫及答案
- 兒童保健服務內(nèi)容與流程
- 2024年建筑工程行業(yè)的未來發(fā)展
- 幼兒園幼兒食品安全培訓
- 中建八局一公司新員工手冊
- 食品科學與工程生涯發(fā)展展示
- WB原理流程課件
- 設備管理的設備績效績效指標和評價體系
- 智能安防智慧監(jiān)控智慧管理
- 中心學校2023-2024學年度六年級英語質(zhì)量分析
- 2024年甘肅蘭州生物制品研究所有限責任公司招聘筆試參考題庫附帶答案詳解
評論
0/150
提交評論