国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

選擇模式 - XSL教程 - 2

瀏覽:127日期:2022-06-04 14:58:40
什么是選擇模式
選擇模式語句將數(shù)據(jù)從XML中提取出來,是一種簡單獲得數(shù)據(jù)的方法,這幾個標(biāo)記都有一個select屬性,選取XML中特定的結(jié)點(diǎn)名的數(shù)據(jù)
 注意,每個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>
  這個語句是逐個(select)選擇某條件,應(yīng)用條件。例如,有如下數(shù)據(jù)庫的用戶列表:
<?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列,這里有兩個問題:
  1:需要把每個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+以上的瀏覽器中效果可見。
  for-each還支持排序,order-by語句,它的語法是以分號(;)分隔、作為排序標(biāo)準(zhǔn)的列表。在列表元素前添加加號(+)表示按此標(biāo)記的內(nèi)容以升序排序,添加減號(-)表示逆序排序。作為一種簡化的表示就是,排序標(biāo)準(zhǔn)列表就是由select規(guī)定的標(biāo)記的子標(biāo)記的序列,每個標(biāo)記之間以(;)分隔。

2、<xsl:value-of>
value-of是選擇當(dāng)前節(jié)點(diǎn)的值
  例如如上的例子中選擇了<xsl:value-of select="Name" />就是選擇Name節(jié)點(diǎn)的值。
xsl:sort排序處理
對于用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)鍵字按文本類型排序,如對于一組id數(shù)據(jù)101,2,44,305 來說,排序結(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é)生花名冊例中所使用的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語句選擇,關(guān)于Select語句的語法,就是XPath,關(guān)于XPath的使用規(guī)范,將在下一講中詳細(xì)描述。
標(biāo)簽: XML/RSS
相關(guān)文章:
主站蜘蛛池模板: 东兰县| 商都县| 宁陵县| 句容市| 柳河县| 长沙市| 鄢陵县| 临夏县| 米泉市| 双鸭山市| 石柱| 福海县| 皮山县| 扶绥县| 阜南县| 教育| 靖西县| 桦甸市| 旬阳县| 韶山市| 贡山| 克东县| 迭部县| 苍梧县| 贞丰县| 林周县| 铜川市| 墨竹工卡县| 井陉县| 连州市| 郎溪县| 山西省| 吐鲁番市| 油尖旺区| 双柏县| 本溪| 晋江市| 淮安市| 库尔勒市| 池州市| 桦甸市|