亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

什么是XSL?

2024-09-05 20:55:25
字體:
來源:轉載
供稿:網友

相關文章:什么是XML
XSL(EXtensible Stylesheet Language)它是指可擴展樣式表語言。 XSL之于 XML 就像 CSS 之于 HTML。說白了就是將XML中的數據用指定的顯示格式輸出.XML不像HTML,它不包含任何顯示格式的信息.XSL 包含兩個部分:
XSLT – 用于轉換 XML 文檔的語言. XSLT 是指 XSL 轉換 (XSL Transformation) XPath – 用于在 XML 文檔中導航的語言
XSL 語法任何 XSL 文檔的第一行實際上都是 XML 聲明:

<?xml version="1.0" encoding="GB2312"?>
XSL 與 XML ?遵循相同的語法規則
在 XML 聲明之后,就是 XSL 聲明,例如:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
......
</xsl:stylesheet>
XSL聲明必須要有結束標簽,上面的聲明中還包含命名空間和 XSL 規范的版本。
什么是命名空間
它指定一組可以在特定文檔中使用的元素名稱和屬性名稱。命名空間的作用是避免命名沖突。由于 XML 和其它與 XML 相關的語言都是用戶定義的,所以可能出現命名沖突。<table>可能是指一個布局或是一個座位。由于大多數應用程序同時處理多個 XML 文檔,因此經常會有不同 XML 文檔相混合的情況,而在這些文檔中某個元素可能代表不同的含義。幾個文檔使用相同的命名空間可以確保元素在每個文檔中代表相同含義。否則,就應該使用不同的命名空間確保元素代表不同的含義。
命名空間由文檔聲明中的 xmlns 屬性指定,實際上就是網站的地址(例如 http://www.w3.org/1999/XSL/Transform)。其基本原理是 URI 具有唯一性,因此相應的命名空間也是唯一的。文檔聲明中的 URI 僅用作名稱。
模板或規則
XSL 文檔是由模板或規則構成,每個模板定義應用于特定 XML 節點的規則。XSL 模板如下所示:

<xsl:template match="/">......</xsl:template>模板的作用是用來承載XML文檔中的數據的,就像一個模具,如果這個模具是方形的,那么用這個模具做出來的模型也一定是方形的,而XML文檔中的數據就是用來真充模具的原料。實際上在模板中可以嵌套子模板,但最上層模板必須將match設為"/"。
happyold.xml

<?xml version="1.0" encoding="GB2312"?>
<俱樂部>
<會員>
<姓名>cnbruce </姓名>
<年齡>10 </年齡>
<性別>男 </性別>
<描述>他是一個糟糕的家伙!</描述>
</會員>
<會員>
<姓名>yufuzi</姓名>
<年齡>80 </年齡>
<性別>男 </性別>
<描述>他是一個優秀的男人!</描述>
</會員>
<會員>
<姓名>xiaojin</姓名>
<年齡>20 </年齡>
<性別>男 </性別>
<描述>他人品有問題!</描述>
</會員>
</俱樂部>

循環構造

<xsl:for-each select="...">......</xsl:for-each>與典型的 for 循環作用相同。
old.xsl

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<table border="1">
<tr>
<th>姓名</th>
<th>年齡</th>
<th>性別</th>
<th>描述</th>
</tr>
<xsl:for-each select="俱樂部/會員">
<tr>
<!--表達式為何不需要包括父節點或從文檔根開始。這是因為這些元素的路徑是根據 <xsl:for-each> 構造中的 XPath 表達式來計算的-->
<td><xsl:value-of select="姓名"/></td>
<td><xsl:value-of select="年齡"/></td>
<td><xsl:value-of select="性別"/></td>
<td><xsl:value-of select="描述"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
將old.xsl與happyold.xml放到同一文件夾下,然后在happyold.xml第二行插隊入

<?xml-stylesheet type="text/xsl" href="old.xsl"?>然后在瀏覽器中預覽一下顯示結果。
使用循環構造,還可以根據條件過濾輸出。假設只想顯示會員中年齡大于30的會員。
old30.xsl

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<table border="1">
<tr>
<th>姓名</th>
<th>年齡</th>
<th>性別</th>
<th>描述</th>
</tr>
<xsl:for-each select="俱樂部/會員[年齡>30]">
<tr>
<td><xsl:value-of select="姓名"/></td>
<td><xsl:value-of select="年齡"/></td>
<td><xsl:value-of select="性別"/></td>
<td><xsl:value-of select="描述"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
要定義 XML 節點的條件,可以使用下列任何運算符:

等于 (=)
不等于 (!=)
小于 (<)
小于或等于 (<=)
大于 (>)
大于或等于 (>=)

使用<xsl:sort / >構造使輸出的結果按指定的節點進行排序,<xsl:sort /> 元素必須嵌套在 <xsl:for-each > 元素中,以確保應用程序可以循環通過所有的項目。sort 元素沒有相應的結束標簽,所以在其結尾加上"/"使其自結束。
old_sort.xsl

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<table border="1">
<tr>
<th>姓名</th>
<th>年齡</th>
<th>性別</th>
<th>描述</th>
</tr>
<xsl:for-each select="俱樂部/會員">
<xsl:sort select="年齡" order="descending"/>
<tr>
<td><xsl:value-of select="姓名"/></td>
<td><xsl:value-of select="年齡"/></td>
<td><xsl:value-of select="性別"/></td>
<td><xsl:value-of select="描述"/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
去掉order="descending"再看看顯示結果。
條件構造:

<xsl:choose>
<xsl:when test="表達式">
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
條件構造中可以有多個when,但只能有一個otherwise,用于處理未包括在初始測試條件中的所有其它情況.
old_choose.xsl

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<table border="1">
<tr>
<th>姓名</th>
<th>年齡</th>
<th>性別</th>
<th>描述</th>
</tr>
<xsl:for-each select="俱樂部/會員">
<xsl:choose>
<xsl:when test="年齡 > 70">
<tr bgcolor="#66CCFF">
<td><xsl:value-of select="姓名"/></td>
<td><xsl:value-of select="年齡"/></td>
<td><xsl:value-of select="性別"/></td>
<td><xsl:value-of select="描述"/></td>
</tr>
</xsl:when>
<xsl:when test="年齡=10">
<tr bgcolor="blue">
<td><xsl:value-of select="姓名"/></td>
<td><xsl:value-of select="年齡"/></td>
<td><xsl:value-of select="性別"/></td>
<td><xsl:value-of select="描述"/></td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr bgcolor="red">
<td><xsl:value-of select="姓名"/></td>
<td><xsl:value-of select="年齡"/></td>
<td><xsl:value-of select="性別"/></td>
<td><xsl:value-of select="描述"/></td>
</tr>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
上一篇:XML 語法

下一篇:XML:OpenSearch 應用

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美中文字幕| 亚洲色图13p| 午夜精品一区二区三区在线视频| 欧美黑人巨大xxx极品| 欧美日韩成人网| 欧美日韩一区免费| 日韩av色综合| 精品福利在线视频| 中文字幕日韩在线视频| 国模叶桐国产精品一区| 国产亚洲一区二区在线| 亚洲的天堂在线中文字幕| 色婷婷综合成人| 国产+成+人+亚洲欧洲| 久久人人97超碰精品888| 欧美日韩视频免费播放| 91精品一区二区| 亚洲在线免费看| 欧美性猛交xxxx黑人| 岛国av一区二区在线在线观看| 国产日韩欧美在线播放| 亚洲成色777777在线观看影院| 日韩电影大全免费观看2023年上| 久久精品人人爽| 日韩成人av一区| 成人日韩在线电影| 狠狠色狠狠色综合日日五| 久久综合伊人77777尤物| 538国产精品一区二区免费视频| 日韩av影视综合网| 国产精品免费久久久久影院| 91在线观看免费高清| 国产视频精品一区二区三区| 国产午夜精品视频免费不卡69堂| 亚洲老板91色精品久久| 欧美最猛性xxxxx免费| 日韩成人av一区| 国产日韩在线看| 欧美一区二区大胆人体摄影专业网站| 尤物tv国产一区| 在线播放精品一区二区三区| 蜜臀久久99精品久久久久久宅男| 国产精品igao视频| 日韩亚洲国产中文字幕| 国产亚洲欧美日韩美女| 精品国产91久久久| 红桃视频成人在线观看| 国产日韩在线亚洲字幕中文| 欧美大荫蒂xxx| 欧美日韩国产精品一区二区三区四区| 中文字幕精品一区二区精品| 久久综合久中文字幕青草| 久久久久亚洲精品| 日韩电影大全免费观看2023年上| 日韩中文字幕网站| 91精品国产沙发| 欧美在线视频免费播放| 国产精品美女网站| 另类视频在线观看| 日本伊人精品一区二区三区介绍| 在线日韩av观看| 成年无码av片在线| 亚洲自拍偷拍色片视频| 国产精品日日摸夜夜添夜夜av| 在线免费观看羞羞视频一区二区| 国产日韩精品一区二区| 91精品久久久久| 亚洲激情电影中文字幕| 国产成人精品一区二区| www国产精品com| 日韩有码视频在线| 日韩在线不卡视频| 色偷偷av亚洲男人的天堂| 日韩视频―中文字幕| 91av成人在线| 91av在线播放| 91视频国产精品| 欧美与黑人午夜性猛交久久久| 成人在线观看视频网站| 国产精品自产拍在线观看| 亚洲精品欧美日韩| 亚洲欧美日韩精品久久亚洲区| 久久好看免费视频| 成人欧美一区二区三区黑人孕妇| 国产精品99久久久久久www| 日韩av一区在线观看| 午夜精品久久久久久久99热| 欧美中在线观看| 亚洲色图17p| 亚洲精品久久久久久久久| 日韩视频在线免费| 久久久久北条麻妃免费看| 亚洲欧洲自拍偷拍| 2018国产精品视频| 久久久成人精品视频| 97超级碰碰人国产在线观看| 热久久这里只有精品| 亚洲专区中文字幕| 国产91精品青草社区| 在线精品91av| 亚洲第一区中文99精品| 国产精品高潮呻吟久久av无限| 亚洲精品美女视频| 久久免费视频这里只有精品| 成人福利视频网| 琪琪亚洲精品午夜在线| 日韩一区二区三区xxxx| 国产精品久久久久久亚洲调教| 91免费在线视频网站| 日韩一区二区欧美| 日韩国产精品一区| 97成人在线视频| 亚洲国产99精品国自产| 国产大片精品免费永久看nba| 亚洲老头老太hd| 日韩欧中文字幕| 91福利视频网| 日韩精品中文字| 亚洲精品wwww| 成人免费观看网址| 欧美在线性爱视频| 国模吧一区二区三区| 午夜精品福利在线观看| 精品视频在线导航| 九九视频这里只有精品| 色青青草原桃花久久综合| 亚洲free嫩bbb| 欧美性xxxxx| 亚洲男人av电影| 亚洲第一区在线观看| 国产精品羞羞答答| 日韩av电影在线免费播放| 亚洲视频在线观看免费| 亚洲一区二区免费在线| 国产一区av在线| 国产乱人伦真实精品视频| 欧美大胆a视频| 久久手机免费视频| 色偷偷91综合久久噜噜| 78m国产成人精品视频| 欧美巨乳在线观看| 综合欧美国产视频二区| 中文字幕无线精品亚洲乱码一区| 中文字幕国产亚洲2019| 国产z一区二区三区| 国模私拍一区二区三区| 精品日本美女福利在线观看| 欧美成人精品不卡视频在线观看| 日韩欧亚中文在线| 国产婷婷97碰碰久久人人蜜臀| 欧美色欧美亚洲高清在线视频| 爱福利视频一区| 国产精品电影网站| 美日韩精品视频免费看| 日韩激情av在线播放| 国产欧美精品xxxx另类| 国产精品69久久| 在线亚洲男人天堂| 日韩在线播放视频| 国产成人免费av| 91夜夜未满十八勿入爽爽影院| 91精品一区二区| 色老头一区二区三区在线观看| 久热精品视频在线免费观看|