主頁(yè) > 知識(shí)庫(kù) > 選擇模式 - XSL教程 - 2

選擇模式 - XSL教程 - 2

熱門(mén)標(biāo)簽:如何修改多個(gè)百度地圖標(biāo)注 隨州外呼調(diào)研系統(tǒng) 微信地圖標(biāo)注合并了 r語(yǔ)言數(shù)據(jù)可視化地圖標(biāo)注 南寧網(wǎng)絡(luò)外呼系統(tǒng)運(yùn)營(yíng)商 本地電話機(jī)器人 400電話辦理包年 東營(yíng)電銷(xiāo) 高德地圖地圖標(biāo)注服務(wù)中心
什么是選擇模式
選擇模式語(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ù)的用戶列表:
?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>

  需要只輸出全部的Name列,這里有兩個(gè)問(wèn)題:
  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>
  保存為UserList_for-each.xsl.在xml文件第二行增加:
?xml:stylesheet type="text/xsl" href="UserList_for-each.xsl"?>
  在IE5+以上的瀏覽器中效果可見(jiàn)。
  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)行排序
按大小寫(xiě)排序 
xsl:sort case-order="upper-first" select="@id"/> 以id為關(guān)鍵字按大寫(xiě)優(yōu)先排序 
xsl:sort case-order="lower-first" select="@id"/> 以id為關(guān)鍵字按小寫(xiě)優(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)說(shuō),排序結(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ì)描述。

標(biāo)簽:果洛 拉薩 黃石 寧夏 益陽(yáng) 德州 西雙版納 宿遷

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《選擇模式 - XSL教程 - 2》,本文關(guān)鍵詞  選擇,模式,XSL,教程,選擇,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《選擇模式 - XSL教程 - 2》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于選擇模式 - XSL教程 - 2的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章