版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章可擴(kuò)展樣式語言XSL
本章學(xué)習(xí)要點(diǎn)學(xué)習(xí)鏈接XSL到XML文檔的方法掌握模板的定義和應(yīng)用熟練掌握節(jié)點(diǎn)的選擇方式理解如何訪問單個(gè)節(jié)點(diǎn)和多個(gè)節(jié)點(diǎn)本章學(xué)習(xí)要點(diǎn)學(xué)會使用函數(shù)選擇節(jié)點(diǎn)熟練掌握如何對輸出結(jié)果進(jìn)行排序掌握如何選擇輸出節(jié)點(diǎn)學(xué)習(xí)XSL中的運(yùn)算符和表達(dá)式鏈接XSL到XMLXML文檔XSL文檔鏈接<?xml:stylesheettype=”text/xsl”href=”URL”?>處理指令名樣式表類型樣式表地址xsl:stylesheet元素xsl:stylesheet元素是XSL文件的根元素,就像XML文件要求的那樣,在XSL文件中只能有一個(gè)根元素。<xsl:stylesheetversion="1.0"xmlns:xsl="/1999/XSL/Transform">……</xsl:stylesheet>xsl:transform元素在一個(gè)XSL文件中xsl:stylesheet元素和xsl:transform元素只能出現(xiàn)一個(gè),其用法和xsl:stylesheet元素基本相同。<xsl:transformversion="1.0"xmlns:xsl="/1999/XSL/Transform">……</xsl:transform>聯(lián)合樣式表xsl:import元素通過使用xsl:import元素,可以將一個(gè)樣式表導(dǎo)入到另一個(gè)樣式表中。xsl:include元素可以使用xsl:include元素包含其他的樣式表。定義模板元素xsl:template
模板的定義由xsl:template元素來實(shí)現(xiàn)。在一個(gè)XSL文件中可能會定義多個(gè)模板,每個(gè)模板都是一組規(guī)則,這組規(guī)則將特定的輸出與特定的輸入相關(guān)聯(lián),實(shí)現(xiàn)數(shù)據(jù)顯示的轉(zhuǎn)換。XSL模板自定義XML樣式表主要組件模板üüü模板規(guī)則XSLT輸出控制
模板規(guī)則模式動(dòng)作xsl:template應(yīng)用模板元素xsl:apply-templates在XSL中模板定義不可以嵌套。就像在C語言中函數(shù)的定義不可以嵌套一樣。這時(shí)就需要將多個(gè)模板并列定義。若想在根節(jié)點(diǎn)模板中使用其他元素模板,可以使用應(yīng)用模板元素xsl:apply-templates。該元素可以有一個(gè)select屬性,用來指定要處理的節(jié)點(diǎn)集。訪問節(jié)點(diǎn)訪問單個(gè)節(jié)點(diǎn)xsl:value-of訪問多個(gè)節(jié)點(diǎn)xsl:for-each節(jié)點(diǎn)的選擇方式為模板選擇多個(gè)元素為選擇的元素添加條件使用函數(shù)選擇節(jié)點(diǎn)訪問單個(gè)節(jié)點(diǎn)xsl:value-ofxsl:value-of元素用于將節(jié)點(diǎn)的內(nèi)容復(fù)制到輸出結(jié)果中,指令的select屬性用于選擇被提取值的節(jié)點(diǎn)。<xsl:templatematch="職工">…… <xsl:value-ofselect="職工編號"/>……</xsl:template>訪問多個(gè)節(jié)點(diǎn)xsl:for-each<xsl:templatematch="職工列表"> …… <xsl:for-eachselect="職工"> …… <xsl:value-ofselect="職工編號"/> …… </xsl:for-each> ……</xsl:template>節(jié)點(diǎn)的選擇方式直接使用元素名使用通配符使用路徑選擇元素使用通配符匹配任意節(jié)點(diǎn)匹配任意節(jié)點(diǎn)使用“*|/”,即匹配當(dāng)前節(jié)點(diǎn)及所有子節(jié)點(diǎn)和根節(jié)點(diǎn)。點(diǎn)號匹配符點(diǎn)號“.”用于匹配當(dāng)前節(jié)點(diǎn),包括當(dāng)前節(jié)點(diǎn)下的所有子節(jié)點(diǎn)。星號匹配符星號“*”用于匹配當(dāng)前節(jié)點(diǎn),當(dāng)星號“*”用在根節(jié)點(diǎn)的內(nèi)部時(shí)能夠訪問根節(jié)點(diǎn)下的所有子節(jié)點(diǎn)。使用路徑選擇元素使用絕對路徑使用相對路徑在路徑中使用星號“*”在路徑中使用“//”為模板選擇多個(gè)元素在前面的介紹中,一個(gè)模板都是應(yīng)用某一個(gè)選定的節(jié)點(diǎn),XSL允許一次選擇多個(gè)節(jié)點(diǎn)。一次選擇多個(gè)節(jié)點(diǎn)使用“|”。<xsl:templatematch="職工編號|姓名|性別"> <xsl:value-ofselect="."/></xsl:template>為選擇的元素添加條件在XSL中可以為選擇的元素添加限制條件,如可以限制元素必須有給定的子元素、必須有給定的屬性、必須有某個(gè)元素的值、必須有某個(gè)屬性的值,甚至可以限制某個(gè)元素的值必須為給定的字符串。為選擇的元素添加限制條件需要使用符號“[]”。為選擇的元素添加條件限制元素必須有子元素添加多個(gè)限制條件在條件中使用星號限制元素必須帶有給定屬性限制元素內(nèi)容為給定字符串限制元素屬性為給定字符串使用函數(shù)選擇節(jié)點(diǎn)選擇指令函數(shù):processing-instruction()選擇注釋函數(shù):comment()選擇文本函數(shù):text()選擇任意節(jié)點(diǎn)函數(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屬性:設(shè)置排序次序,屬性值為“ascending”時(shí)代表升序,屬性值為“descending”時(shí)代表降序。select屬性:設(shè)置排序的關(guān)鍵字。data-type屬性:設(shè)置排序標(biāo)準(zhǔn),屬性值為“text”時(shí)代表按照文字順序排序,屬性值為“number”時(shí)代表按照數(shù)字順序排序。使用“xsl:sort”元素運(yùn)算符和表達(dá)式加法:+減法:-乘法:*除法:div關(guān)系運(yùn)算符和關(guān)系表達(dá)式大于號:>大于等于號:>=小于號:<小于等于號:<=等于號:=不等于號:!=對輸出節(jié)點(diǎn)的選擇“xsl:if”元素“xsl:choose”元素“xsl:if”元素“xsl:if”元素提供了根據(jù)輸入文檔內(nèi)容來改變輸出文檔的簡單途徑,類似于C語言中的if語句(不含else語句)。“xsl:if”元素的“test”屬性可以是一個(gè)關(guān)系表達(dá)式,用來計(jì)算布爾值。如果此表達(dá)式為true,即輸出“xsl:if”元素的內(nèi)容;否則,不輸出“xsl:if”元素的內(nèi)容?!皒sl:if”元素<xsl:if>元素test屬性:條件表達(dá)式,如果為真,則輸出<xsl:if>的內(nèi)容,否則不輸出<xsl:if>的內(nèi)容?!皒sl:choose”元素在XSL中不存在“xsl:else”元素與“xsl:if”相對應(yīng),但是“xsl:choose”元素可以提供這一功能。根據(jù)幾個(gè)可能的條件,“xsl:choose”元素從中選擇一個(gè)。“xsl:when”子元素提供各種條件和相關(guān)的輸出模板。在“xsl:when”子元素中“test”屬性的設(shè)置方法與“xsl:if”元素的“test”屬性設(shè)置方法相同。即哪一個(gè)“xsl:when”元素中“test”屬性為真,就顯示哪一個(gè)“xsl:when”元素中的模板內(nèi)容。如果有多個(gè)為真,則顯示為真的第一個(gè)模板內(nèi)容。如果都不為真,則顯示“xsl:otherwise”子元素模板的內(nèi)容?!皒sl:choose”元素<xsl:choose>元素用法<xsl:choose> <xsl:whentest=條件表達(dá)式> </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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美術(shù)館策展人招聘協(xié)議
- 國際文化園精裝房施工合同
- 酒店兼職廚師合同范本
- 2025年度蘭州租賃合同范本(含租賃物使用監(jiān)督)3篇
- 2024年度電子元器件展覽會策劃與實(shí)施服務(wù)合同3篇
- 2025年智慧城市債券擔(dān)保合同范本3篇
- 2024年辣椒干購買合同
- 2024年購房中介服務(wù)全條款合同
- 2025版企業(yè)辦公耗材一站式采購合同3篇
- 2025年度鍋爐安裝與遠(yuǎn)程監(jiān)控維護(hù)服務(wù)合同
- SFC15(發(fā)送)和SFC14(接收)組態(tài)步驟
- 旅行社公司章程53410
- 小學(xué)班主任工作總結(jié)PPT
- 起世經(jīng)白話解-
- 螺桿式制冷壓縮機(jī)操作規(guī)程完整
- 頜下腺囊腫摘除手術(shù)
- 五金件成品檢驗(yàn)報(bào)告
- CDN基礎(chǔ)介紹PPT課件
- SPC八大控制圖自動(dòng)生成器v1.01
- 復(fù)晶砂、粉在硅溶膠精密鑄造面層制殼中的應(yīng)用
- 實(shí)驗(yàn)室設(shè)備和分析儀器的確認(rèn)和驗(yàn)證
評論
0/150
提交評論