韩剧1988免费观看全集_久久影视三级福利片_亚洲视频在线观看免费_在线观看欧美日韩_国产亚洲激情在线_亚洲精品美女久久久_欧美国产日韩一区二区在线观看_91在线观看免费高清完整版在线观看_日韩av免费看_国产又爽又黄的激情精品视频_琪琪亚洲精品午夜在线_欧美性猛xxx_不卡毛片在线看_国产亚洲日本欧美韩国_91国内在线视频_精品国产福利视频

當(dāng)前位置:蘿卜系統(tǒng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

XSLT簡(jiǎn)單基礎(chǔ)第3章:XSLT的元素語(yǔ)法

XSLT簡(jiǎn)單基礎(chǔ)第3章:XSLT的元素語(yǔ)法

更新時(shí)間:2020-12-13 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

  通過(guò)前面兩章的介紹,我們已經(jīng)對(duì)XSLT的基本概念和它的轉(zhuǎn)換過(guò)程有了一些了解。下面我們一起來(lái)學(xué)習(xí)XSLT的具體語(yǔ)法。說(shuō)到語(yǔ)法總是比較枯燥的,您可以大體上瀏覽一遍,等您真正需要使用XSLT的時(shí)候,再仔細(xì)研究它們。

3.XSLT的元素語(yǔ)法

3.1 xsl:template和xsl:apply-templates

3.2 xsl:value-of

3.3 xsl:for-each

3.4 xsl:if

3.5 Xxsl:choose, when, otherwise

3.6 xsl:sort

3.1 xsl:template和xsl:apply-templates


 

模板(template)是XSLT中最重要的概念之一。XSLT文件就是由一個(gè)一個(gè)的模板組成,任何一個(gè)XSLT文件至少包含一個(gè)模板。模板的概念就象是搭積木;你如果是程序員,也可以將模板看作一個(gè)方法,一個(gè)類,或者一個(gè)模塊。它們可以被拼裝組合,也可以單獨(dú)成塊,不同的模板控制不同的輸出格式。

模板(template)由兩部分組成:匹配模式(match pattern)和執(zhí)行。簡(jiǎn)單的講模式定義XML源文檔中哪一個(gè)節(jié)點(diǎn)將被模板處理,執(zhí)行則定義輸出的是什么格式。兩部分對(duì)應(yīng)的語(yǔ)法為xsl:template和xsl:apply-templates。


 

xsl:template的語(yǔ)法是:


 

<xsl:template

match = pattern

name = qname

priority = number

mode = qname>

<!-- 執(zhí)行內(nèi)容 -->

</xsl:template>


 

xsl:template的作用是定義一個(gè)新模板。屬性中name,priority,和mode用來(lái)區(qū)別匹配同一節(jié)點(diǎn)的不同模板。它們不是常用的屬性。match屬性則控制模板的匹配模式(pattern),匹配模式是用來(lái)定位XML源文檔中哪一個(gè)節(jié)點(diǎn)被模板處理。一個(gè)模板匹配一個(gè)節(jié)點(diǎn)。我們用一個(gè)例子來(lái)幫助理解:

假設(shè)我們要處理一個(gè)包含章節(jié)和段落文檔。我們用para元素定義段落,用chapter元素定義章節(jié)。我們來(lái)看看match屬性可能的值。下面的語(yǔ)句寫法說(shuō)明模板匹配所有的para元素


 

<xsl:template match="para">

</xsl:template>


 

下面的語(yǔ)句寫法說(shuō)明模板匹配所有的para元素和所有的chapter元素:


 

<xsl:template match="(chapter|para)">

</xsl:template>


 

下面的語(yǔ)句寫法說(shuō)明模板匹配所有的父節(jié)點(diǎn)為chapter元素的para元素:


 

<xsl:template match="chapter//para">

</xsl:template>


 

下面的語(yǔ)句寫法說(shuō)明模板匹配根節(jié)點(diǎn):


 

<xsl:template match="/">

</xsl:template>


 

我們?cè)賮?lái)看apply-templates語(yǔ)法:


 

<xsl:apply-templates

select = node set-expression

mode = qname>

</xsl:apply-templates>


 

xsl:apply-templates用來(lái)執(zhí)行那一個(gè)節(jié)點(diǎn)被模板具體處理。你可以將它理解為程序中調(diào)用子函數(shù)。select屬性用來(lái)定義確切的節(jié)點(diǎn)名稱。xsl:apply-templates總是包含在xsl:template元素中,象這樣:


 

<xsl:template match="/">

<xsl:apply-templates select="para"/>

</xsl:template>


 

這段代碼說(shuō)明摸板匹配整個(gè)文檔(根節(jié)點(diǎn)),具體執(zhí)行時(shí)處理根節(jié)點(diǎn)下所有para元素。


 

<xsl:template match="para">

<p><xsl:apply-templates/></p>

</xsl:template>


 

而這一段代碼則表示摸板匹配para節(jié)點(diǎn),所有para下的子元素都將被處理。

3.2 xsl:value-of


 

XSL:value-of用來(lái)將源文檔中元素的文本值寫到輸出文檔中。例如:

有一個(gè)個(gè)人資料的XML文檔:


 

<?xml version="1.0" encoding="iso-8859-1"?>

<PERSON>

<name>ajie</name>

<age>28</age>

</PERSON>


 

我如果想在輸出文檔中顯示上面這個(gè)XML源文檔中的name元素的值,可以這樣寫XSLT代碼:


 

<xsl:template match="PERSON">

<xsl:value-of select="name"/>

</xsl:template>


 

執(zhí)行后,你會(huì)看到"ajie"被單獨(dú)顯示出來(lái)。其中match="PERSON"定義摸板匹配PERSON節(jié)點(diǎn),xsl:value-of
語(yǔ)法說(shuō)明需要輸出一個(gè)節(jié)點(diǎn)的值,而select="name"則定義需要被輸出的元素為name?催@個(gè)過(guò)程是不是和數(shù)據(jù)庫(kù)里查詢一個(gè)人的名字很象?當(dāng)然,xsl:value-of查詢還有更多,更復(fù)雜的語(yǔ)法,因?yàn)槭巧婕皩ふ液投ㄎ坏墓δ,我們?huì)放在后面的XPath語(yǔ)法中在仔細(xì)講解。

同樣功能的還有xsl:copy-of,用法一樣,就不重復(fù)解釋了。

3.3 xsl:for-each


 

xsl:for-each語(yǔ)法允許你循環(huán)處理被選擇的節(jié)點(diǎn)。例如:有一個(gè)含多個(gè)個(gè)人資料的XML文檔:


 

<?xml version="1.0" encoding="iso-8859-1"?>

<PEOPLE>

<PERSON>

<name>ajie</name>

<age>28</age>

</PERSON>

<PERSON>

<name>tom</name>

<age>24</age>

</PERSON>

<PERSON>

<name>miake</name>

<age>30</age>

</PERSON>

</PEOPLE>


 

我需要顯示所有人的姓名,則可以將XSLT代碼寫成:


 

<xsl:template match="PEOPLE">

<xsl:for-each select="child::PERSON">

<xsl:value-of select="name"/>

</ xsl:for-each>

</xsl:template>


 

3.4 xsl:if


 

xsl:if類似普通程序語(yǔ)言的if條件語(yǔ)句,允許設(shè)定節(jié)點(diǎn)滿足某個(gè)條件時(shí),被模板處理。xsl:if的語(yǔ)法格式為:


 

<xsl:if test=布爾表達(dá)式>

template body

</xsl:if>


 

例如:


 

<xsl:template match="PEOPLE">

<xsl:if test="@name">

<p><xsl:value-of select="@name"/></p>

</xsl:if>

</xsl:template>


 

這段代碼的意思是檢測(cè)PEOPLE節(jié)點(diǎn)下所有的元素,如果發(fā)現(xiàn)有<name>元素,則將<name>元素的值輸出。其中@符號(hào)是統(tǒng)配符,表示節(jié)點(diǎn)下所有的元素。

3.5 xsl:choose, xsl:when 和 xsl:otherwise


 

xsl:if語(yǔ)法沒(méi)有else的屬性。如果我們要進(jìn)行多項(xiàng)選擇,那么就要使用xsl:choose / xsl:when / xsl:otherwise系列流程控制語(yǔ)法了。具體的使用請(qǐng)看下面的XSL文件例子:


 

<xsl:template match="PEOPLE">

<xsl:choose>

<xsl:when test="@name = 'ajie'">

<B><xsl:value-of select="@name"/></B>

</xsl:when>

<xsl:when test="@name">

<I><xsl:value-of select="@name"/></I>

</xsl:when>

<xsl:otherwise>

No name available

</xsl:otherwise>

<xsl:choose>

</xsl:template>


 

說(shuō)明:首先在PEOPLE節(jié)點(diǎn)下尋找<name>屬性值為ajie的元素,如果找到,將ajie用粗體輸出;如果沒(méi)有發(fā)現(xiàn)值為ajie的<name>元素,則將所有的<name>元素的值都用斜體輸出;如果沒(méi)有發(fā)現(xiàn)任何<name>元素,則顯示"No
name available"。


 

3.6 xsl:sort


 

在XSLT中可以對(duì)XML源文檔的元素進(jìn)行重新排序,排序的語(yǔ)法就是xsl:sort。舉例:下面的代碼就是將文檔元素按name排序。


 

<xsl:template match="PEOPLE">

<xsl:apply-templates select="PERSON">

<xsl:sort select="@name"/>

</xsl:apply-templates>

</xsl:template>


 

以上是XSLT的元素的主要語(yǔ)法,還有很多其他的語(yǔ)法,例如:import, include, element, attribute, number, param等等語(yǔ)法,在這里就不一一解釋。我們的目的是讓您對(duì)XSLT的語(yǔ)法有基本的概念,理解XSLT作為一種轉(zhuǎn)換語(yǔ)言的強(qiáng)大功能。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

網(wǎng)站地圖xml | 網(wǎng)站地圖html
avove在线播放| 国产精品蜜臀在线观看| 久久久神马电影| 91中文精品字幕在线视频| 少妇黄色一级片| 夜夜爽av福利精品导航| 高潮毛片又色又爽免费| 色婷婷综合视频| 欧美**字幕| 91精品黄色| 国产日本欧美在线观看| 日韩欧美精品一区| 久久久久久久久久久一区| 欧美日韩在线观看视频小说| 久久亚洲影院| 成人午夜福利一区二区| 欧美黑人性受xxxx喷水| 欧美成人69av| 国产黄色三级网站| 日本欧美三级| 久久草视频在线看| 91在线无精精品一区二区| 亚洲一区二区三区四区在线| 亚洲成人影院在线观看| 成人一区二区三区中文字幕| 亚洲视频在线观看网站| 椎名由奈jux491在线播放| 国产自产高清不卡| 夜夜嗨av禁果av粉嫩avhd| 欧洲毛片在线| 亚洲网站在线播放| av在线播放一区二区三区| 91超薄丝袜肉丝一区二区| 毛片毛片毛片| 在线观看导航| 国产乱码精品一区二区三区av| 97在线播放免费观看| 亚洲图片激情小说| 国产精品第1页| 久久人人爽国产| 国产91在线视频| 玖玖视频精品| 豆花视频一区| 日本中文字幕网址| 日韩电影免费观看在| 日本免费一区二区三区等视频| 日本高清不卡码| 九九热精品免费视频| 777久久久精品| 影院欧美亚洲| 欧美激情一区二区三区免费观看| 丁香激情综合五月| 久久精品视频在线看| 日韩欧美精品一区二区三区| 日韩视频在线播放| 久久精品99国产国产精| 激情欧美国产欧美| 亚洲网站在线观看| 成人全视频免费观看在线看| 91啦中文成人| 日韩视频二区| 美女黄色丝袜一区| 久久久久久久久久久久久久久久av| 永久免费看黄网站| 欧美人与禽猛交乱配| 视频在线一区| 成人黄色在线网站| 国产精品日韩精品在线播放| 国产精品午夜一区二区欲梦| 杨幂毛片午夜性生毛片| 国产成人精品白浆久久69| 国产精品污网站| 亚洲精品日韩av| 熟女人妻在线视频| 亚洲性生活视频| 熟妇人妻av无码一区二区三区| 色婷婷香蕉在线一区二区| 色综合视频一区二区三区日韩| 久久久久久久9999| 高清精品一区二区三区一区| 欧美成人aaa片一区国产精品| 视频一区二区三区在线观看| 国产精品扒开腿做爽爽爽男男| 欧美激情1区2区3区| 久久久久五月天| 国产一区二区不卡在线| 青梅竹马是消防员在线| 国产成人精品日本亚洲专区61| 国产精品99久久久精品无码| 亚洲一区中文字幕在线| 日韩高清不卡一区二区| 久久精品日产第一区二区三区精品版| 久久综合久久综合久久| 免费毛片在线播放| 久久综合另类图片小说| 橘梨纱av一区二区三区在线观看| 福利一区二区三区四区| 一级黄色片在线| 啊v在线视频| 国产无码精品一区二区| 免费观影入口看日本视频| 久久发布国产伦子伦精品| aaa在线观看| 在线精品一区| 欧美激情在线狂野欧美精品| 国产普通话bbwbbwbbw| 国产一区免费看| 日韩中文字幕免费看| 中文一区二区三区四区| 青春草视频在线观看| 99久久夜色精品国产亚洲96| 精品国产福利一区二区在线| 国产欧美一区二区三区米奇| 午夜精品久久久久久久久久久久久蜜桃| 蜜桃欧美视频| 国产区二精品视| 国产精品任我爽爆在线播放| 视频三区在线| 91网在线看| 亚洲一级高清| 蜜桃麻豆av在线| 成人亚洲欧美激情在线电影| 色播久久人人爽人人爽人人片视av| 亚洲一区二区三区久久| 久久精品国产精品亚洲色婷婷| 亚洲综合中文字幕在线观看| 91视频免费在线| 天堂在线中文网| 久久精品视频日本| 在线免费观看日本欧美| 欧美一区二区三区四区在线观看地址| 男人天堂手机在线视频| 国产视频一区不卡| 欧美高清dvd| 四虎影院在线免费播放| 亚洲欧美日韩精品在线| 免费观看91视频大全| 久久aⅴ国产欧美74aaa| 一区二区三区视频网站| a√中文在线观看| youjizz亚洲女人| 91成人国产| 欧美午夜精品久久久久免费视| 欧美日韩国产中文| 欧美色图天堂网| 国产精品视区| 欧美高清一级片在线观看| 久久精品无码一区二区日韩av| 亚洲天堂在线视频观看| 欧美国产日韩亚洲一区| 中文字幕国产视频| 精品国产乱码久久久久酒店| 国产在线视频资源| 农村少妇久久久久久久| 黑人一级大毛片| 国语对白精品一区二区| 国产精品视频区1| 国内精品第一页| 日本熟妇毛茸茸丰满| 日韩中文字幕二区| 国产伦精品一区二区三区照片| 国产精品视频分类| 亚洲国产高潮在线观看| 精品在线视频一区二区| 欧美在线看片a免费观看| 姬川优奈aav一区二区| 欧美性猛交xxx乱大交3蜜桃| 欧美激情一级二级三级在线视频| 精品国产精品| 黄动漫在线免费观看| 欧美性大战久久久| 在线播放av更多| 欧美激情国产精品| 国产一级片在线| 久久人人爽人人爽人人片av高清| 午夜不卡一区| 国产一区二区三区在线免费| 德国性xxxx| 欧美另类交视频| 国产区在线观看| 日本黄色免费观看| 久久久久成人片免费观看蜜芽| 欧美日韩国产一区| 免费看的毛片| 欧美日韩一区二区三区四区不卡| 国产精品久久久久久免费| 91亚洲精品视频在线观看| 91超碰在线电影| 91麻豆文化传媒在线观看| 国产一区二区福利| 亚洲国产婷婷综合在线精品| 日韩欧美中文在线| 天天做天天摸天天爽天天爱| www.youjizz.com在线| 亚洲国产日韩一区二区| 欧美在线观看视频一区二区三区| 视频在线观看免费影院欧美meiju| 午夜日韩福利| 亚洲mv在线看| 国产精品美女一区二区视频| 国产女人av| 欧美图片欧美激情欧美精品| 亚洲国产综合视频在线观看| 欧美无乱码久久久免费午夜一区| 色欲av无码一区二区三区| 久久天天躁狠狠躁夜夜躁| 亚洲乱码一区av黑人高潮| 凹凸日日摸日日碰夜夜| 日日躁天天躁狠狠躁| 欧美在线一区二区视频| 精品国产精品自拍| aaa欧美色吧激情视频| 久艹视频在线免费观看| 亚洲精品成人图区| av加勒比在线| 亚洲一级片在线观看| 国产视频第一页| 天堂久久精品忘忧草| 亚洲精品无吗| 欧美午夜性囗交xxxx| 国产成人一区在线| 免费在线黄色影片| 欧美一区二区三区久久| 国产精品中文字幕一区二区三区| 日韩精品中文字幕一区| 久久大片网站| 国产一区二区在线观看视频| 麻豆传媒在线看| 青青青草视频| xxxxxhd亚洲人hd| 97在线中文字幕| 福利av在线| 亚洲亚洲一区二区三区| 亚洲欧洲色图| 在线影院自拍| 热久久一区二区| 日本高清一区二区视频| 欧美不卡一区二区三区四区| 好吊色在线视频| 国产香蕉免费精品视频| 黄页网站在线观看免费| 成人国产视频在线观看| 国产精品久久久久免费a∨| 日日嗨av一区二区三区四区| 亚洲免费小视频| 2021久久精品国产99国产精品| 欧美精品久久久久久久久| 国产一区二区三区站长工具| 国产成人免费av电影| 成人片免费看| 一个人免费观看日本www视频| 自拍视频在线| 国产一级粉嫩xxxx| 欧美一级中文字幕| 精品国产91洋老外米糕| 精品国产欧美成人夜夜嗨| 国产精品二区一区二区aⅴ| 免费免费啪视频在线观看| a级黄色一级片| 日韩在线视频一区二区三区| 亚洲熟妇无码av在线播放| 国自产拍在线网站网址视频| 欧美成人精品欧美一级私黄| 日韩av在线电影网| 久久精品亚洲一区二区三区浴池| 337p日本欧洲亚洲大胆张筱雨| 91九色丨porny丨极品女神| 国产乱人伦丫前精品视频| 天天影视色香欲综合网老头| 久久免费一级片| 日产日韩在线亚洲欧美| 欧美一区二区三区免费观看| 免费国产成人看片在线| 日韩国产精品亚洲а∨天堂免| 国模吧视频一区| www.精品久久| 青草成人免费视频| 国产色婷婷亚洲99精品小说| 日韩在线免费看| 午夜电影网亚洲视频| 熟女高潮一区二区三区| 国产精品免费视频一区| 轻轻草成人在线| 亚洲网在线观看| 免费观看黄色的网站| 美腿丝袜在线亚洲一区| 末成年女av片一区二区下载| 欧美性老头oldtight| 91精品国产综合久久精品麻豆| 国产综合色一区二区三区| 黄色动漫在线| 中文字幕在线视频不卡| 精品视频在线免费观看| 久久99久久99精品免观看软件| 天天躁日日躁狠狠躁av| 色婷婷精品久久二区二区蜜臀av| 99久久亚洲| 中文字幕观看在线| 国产suv精品一区二区三区88区| 韩国中文字幕2020精品| 91丝袜一区二区三区| 一级二级三级欧美| 日韩色av导航| 国产尤物视频| 男人舔女人下部高潮全视频| 亚洲欧洲精品一区二区三区波多野1战4| 成人在线视频国产| 中国男女全黄大片| 成人av资源网站| 丝袜久久网站| 亚洲成人精品综合在线| 亚洲国产精久久久久久| 国产69精品久久久久按摩| 国语对白精品一区二区| av在线这里只有精品| 婷婷五月综合激情| 在线观看日本一区二区| 国产在线美女| 黄视频在线播放| 欧美成人app| 青春草视频在线观看| 中文字幕人妻熟女人妻a片| 农村一级毛片| 伊人影院综合网| 国产精品十八以下禁看| 中文字幕日韩一区二区三区| 国产精品麻豆一区| 小说区图片区色综合区|