解讀XSL的選擇模式_Xml教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:如何使用XPath入門什么是XPath XPath(可擴(kuò)展路徑) 是給 XSL 轉(zhuǎn)換[XSLT]和 XPointer [XPointer]的共享功能提供一個(gè)共用的句法及語(yǔ)義的結(jié)果。XPath的主要的目是用于對(duì) XML 文檔元件尋址。在支持這個(gè)主要目的的同時(shí),它也為字符串,數(shù)字和布爾的操作提供了基本手段。XPath
什么是選擇模式選擇模式語(yǔ)句將數(shù)據(jù)從XML中提取出來(lái),是一種簡(jiǎn)單獲得數(shù)據(jù)的方法,這幾個(gè)標(biāo)記都有一個(gè)select屬性,選取XML中特定的結(jié)點(diǎn)名的數(shù)據(jù)
注意,每個(gè)xsl文件都需要導(dǎo)入xsl的命名空間,http://www.w3.org/TR/WD-xsl,例如在xml頭聲明之后加入:
<p xmlns:xsl="http://www.w3.org/TR/WD-xsl">
1、<xsl:for-each>
這個(gè)語(yǔ)句是逐個(gè)(select)選擇某條件,應(yīng)用條件。例如,有如下數(shù)據(jù)庫(kù)的用戶列表:
1、<xsl:for-each>
這個(gè)語(yǔ)句是逐個(gè)(select)選擇某條件,應(yīng)用條件。例如,有如下數(shù)據(jù)庫(kù)的用戶列表:
<?xml version="1.0" encoding="GB2312"?>
<Users>
<User>
<Name>5do8</Name>
<ID>1</ID>
<Professional>.NET,PHP Design</Professional>
</User>
<User>
<Name>cjjer</Name>
<ID>2</ID>
<Professional>DataBase Manage</Professional>
</User>
</Users>
<Users>
<User>
<Name>5do8</Name>
<ID>1</ID>
<Professional>.NET,PHP Design</Professional>
</User>
<User>
<Name>cjjer</Name>
<ID>2</ID>
<Professional>DataBase Manage</Professional>
</User>
</Users>
需要只輸出全部的Name列,這里有兩個(gè)問題:
1:需要把每個(gè)User節(jié)點(diǎn)下面的數(shù)據(jù)都選擇,就是需要定位到User節(jié)點(diǎn),我們使用for-each下面的select。
2:需要選擇Name節(jié)點(diǎn),我們使用value-of下面的select。
建立xsl文件:
<?xml version="1.0" encoding="GB2312"?>
<p xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:for-each select="Users">
<BODY>
<xsl:for-each select="User">
<xsl:value-of select="Name" /><hr />
</xsl:for-each>
</BODY>
</xsl:for-each></p>
<p xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:for-each select="Users">
<BODY>
<xsl:for-each select="User">
<xsl:value-of select="Name" /><hr />
</xsl:for-each>
</BODY>
</xsl:for-each></p>
保存為UserList_for-each.xsl.在xml文件第二行增加:
<?xml:stylesheet type="text/xsl" href="UserList_for-each.xsl"?>
在IE5+以上的瀏覽器中效果可見。
for-each還支持排序,order-by語(yǔ)句,它的語(yǔ)法是以分號(hào)(;)分隔、作為排序標(biāo)準(zhǔn)的列表。在列表元素前添加加號(hào)(+)表示按此標(biāo)記的內(nèi)容以升序排序,添加減號(hào)(-)表示逆序排序。作為一種簡(jiǎn)化的表示就是,排序標(biāo)準(zhǔn)列表就是由select規(guī)定的標(biāo)記的子標(biāo)記的序列,每個(gè)標(biāo)記之間以(;)分隔。
2、<xsl:value-of>
value-of是選擇當(dāng)前節(jié)點(diǎn)的值
例如如上的例子中選擇了
<xsl:value-of select="Name" />
就是選擇Name節(jié)點(diǎn)的值。xsl:sort排序處理
對(duì)于用xsl:for-each或xsl:apply-templates匹配的節(jié)點(diǎn),可使用xsl:sort將所選節(jié)點(diǎn)內(nèi)容進(jìn)行排序
按大小寫排序
<xsl:sort case-order="upper-first" select="@id"/> 以id為關(guān)鍵字按大寫優(yōu)先排序
<xsl:sort case-order="lower-first" select="@id"/> 以id為關(guān)鍵字按小寫優(yōu)先排序
按字母順序排序
<xsl:sort order="ascending" select="@id "/> 以id為關(guān)鍵字按字母升序排序
<xsl:sort order="descending" select="@id "/> 以id為關(guān)鍵字按字母降序排序
按數(shù)據(jù)類型排序
<xsl:sort data-type="text" select="@id"/> 以id為關(guān)鍵字按文本類型排序,如對(duì)于一組id數(shù)據(jù)101,2,44,305 來(lái)說,排序結(jié)果是101,2,305,44
<xsl:sort data-type="number" select="@id"/> 以id為關(guān)鍵字按數(shù)據(jù)類型排序,上面一組數(shù)據(jù)的排序結(jié)果是2,44,101,305
另外,還有一種指定排序的方法,就是在前面學(xué)生花名冊(cè)例中所使用的order-by: <xsl:for-each select="student" order-by="name"> 也可使得輸出學(xué)生時(shí)按名字排序。
3、<xsl:xsl:apply-templates>
xsl:apply-templates是應(yīng)用已經(jīng)定義的模板
例如:
例如:
<xsl:apply-template select="Users/User">……</xsl:apply-template>
如上三者,都有共同的使用方法,就是必須要Select語(yǔ)句選擇,關(guān)于Select語(yǔ)句的語(yǔ)法,就是XPath,關(guān)于XPath的使用規(guī)范,將在下一講中詳細(xì)描述。
分享:XSL教程之匹配模式的學(xué)習(xí)xsl:template 元素定義了用于匹配節(jié)點(diǎn)的規(guī)則(match,其中/匹配整個(gè)文檔),在apply-template使用 語(yǔ)法規(guī)則為: xsl:template name=name match=pattern mode=mode priority=number !-- Content:(xsl:param*,template) -- /xsl:template 其中: nam
相關(guān)Xml教程:
- xml創(chuàng)建節(jié)點(diǎn)(根節(jié)點(diǎn)、子節(jié)點(diǎn))
- WML開發(fā)教程之 WAP網(wǎng)站服務(wù)器配置方法
- WMLScript的語(yǔ)法基礎(chǔ)
- 收集的WML Script標(biāo)準(zhǔn)函數(shù)庫(kù)
- WML教程之文本框控件Input
- 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)
- xml文件的結(jié)構(gòu)解讀
- 關(guān)于XSL - XSL教程
- 選擇模式 - XSL教程 - 2
- XPath入門 - XSL教程 - 3
- 匹配模式 - XSL教程 - 4
- 測(cè)試模式 - XSL教程 - 5
Xml教程Rss訂閱編程教程搜索
Xml教程推薦
猜你也喜歡看這些
- 了解WEB頁(yè)面工具語(yǔ)言XML(四)應(yīng)用分類
- xml文件的結(jié)構(gòu)解讀
- 使用PHP DOM-XML創(chuàng)建和解析XML文件
- WML Script語(yǔ)法基礎(chǔ)
- 怎樣打開XML文件?xml文件如何打開?
- 文檔標(biāo)準(zhǔn)的真實(shí)謊言
- xml創(chuàng)建節(jié)點(diǎn)(根節(jié)點(diǎn)、子節(jié)點(diǎn))
- 使用javascript xml技術(shù)實(shí)現(xiàn)分頁(yè)瀏覽
- 如何驗(yàn)證XML是合法的XML
- XML教程:XML DOM 訪問節(jié)點(diǎn)
- 相關(guān)鏈接:
- 教程說明:
Xml教程-解讀XSL的選擇模式
。