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

首頁 > 開發 > XML > 正文

XSL簡明教程

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

一. XSL入門

1.XSL---XML的樣式表

HTML網頁使用預先確定的標識(tags),這就是說所有的標記都有明確的含義,例如<p>是另起一行<h1>是標題字體。所有的瀏覽器都知道如何解析和顯示HTML網頁。
然而,XML沒有固定的標識,我們可以建立我們自己需要的標識,所以瀏覽器不能自動解析它們,例如<table>可以理解為表格,也可以理解為桌子。由于XML的可擴展性,使我們沒有一個標準的辦法來顯示XML文檔。
為了控制XML文檔的顯示,我們有必要建立一種機制,CSS就是其中的一種,但是XSL(eXtensible Stylesheet Language)是顯示XML文檔的首選樣式語言,它比CSS更適合于XML。

2.XSL --- 不僅僅是一種樣式表

XSL由兩部分組成:

一是轉化XML文檔;二是格式化XML文檔。

如果你不理解這個意思,可以這樣想:XSL是一種可以將XML轉化成HTML的語言,一種可以過濾和選擇XML數據的語言,一種能夠格式化XML數據的語言。(比如用紅色顯示負數。)

3.XSL --- 它能做什么?

XSL可以被用來定義XML文檔如何顯示,可以將XML文檔轉換成能被瀏覽器識別的HTML文件,通常的,XSL是通過將每一個XML元素"翻譯"為HTML元素,來實現這種轉換的。

XSL能夠向輸出文件里添加新的元素,或則移動元素。XSL也能夠重新排列或者索引數據,它可以檢測并決定哪些元素被顯示,顯示多少。

4.XSL在IE5中的顯示

注意:IE5.0中,并不能完全兼容W3C組織發布的最新XSL標準。因為IE5.0是在XSL標準最終確定以前發布的。微軟已經承諾在IE5.5中修正。 二.XSL的轉換
 1.將XML轉換成HTML

XSL是如何將XML文檔轉換成HTML文件的呢?我們來看一個例子,下面是XML文檔的一部分: <?xml version="1.0" encoding="ISO8859-1" ?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
...然后我們將下面的XSL文件作為HTML的模板將XML數據轉換為HTML文件:<?xml version=''1.0''?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<table border="2" bgcolor="yellow">
<tr>
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="CATALOG/CD">
<tr>
<td><xsl:value-of select="TITLE"/></td>
<td><xsl:value-of select="ARTIST"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
 在上面的代碼中, xsl:for-each元素的作用是定位XML文檔中的哪些元素需要按以下模板顯示。select屬性用來定義源文件中的元素名。指定屬性的這種語法又稱為XML
Pattern(模式),類似文件子目錄的表示形式。xsl:value-of元素用來在當前層次中插入子元素的內容模板。

因為XSL樣式表自身也是一個XML文檔,因此,XSL文件的開頭以一個XML聲明開始。 xsl:stylesheet元素用來聲明這是一個樣式表文件。<xsl:template
match="/">語句表示XML的源文檔在當前目錄下。

如果為XML文檔加上XSL樣式表,看下面代碼第2行,你的瀏覽器就可以精確的將XML 文檔轉換為HTML文件。<?xml version="1.0" encoding="ISO8859-1" ?>
<?xml-stylesheet type="text/xsl" href="cd_catalog.xsl"?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>三. XSL--在客戶端的實現
 1.JavaScript解決方案

在上面的章節中我們已經解釋了XSL是如何將XML轉換成HTML文件。方法就是在XML文檔的頭部加入一個XSL樣式表信息,然后讓瀏覽器執行轉換過程。

這種方法在大部分情況下都做得很好,但是在不支持XML的瀏覽器中就無法正確顯示了。

一個更好的更全面的解決方案是使用Javascript來實現XML到HTML的轉換。但是使用JavaScript必須得到以下功能支持:

a.允許Javascript代替瀏覽器進行細節檢測;

b.根據不同的需要和不同的瀏覽器使用不同的樣式表。

對于XSL來說這是完全可行的。設計XSL的目標之一就是允許將一種格式轉換成另一種格式,支持不同的瀏覽器,支持不同的用戶需求。未來的瀏覽器的重要任務就是在客戶端執行XSL的轉換工作。

2.一個具體的實例

下面是我們上面提到的一個XML文檔(cd_catalog.xml)例子的部分代碼:

<?xml version="1.0" encoding="ISO8859-1" ?>
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
.
.
.

下面是完整的XSL文件(cd_catalog.xsl):<?xml version=''1.0''?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<table border="2" bgcolor="yellow">
<tr>
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="CATALOG/CD">
<tr>
<td><xsl:value-of select="TITLE"/></td>
<td><xsl:value-of select="ARTIST"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
 注意,現在XML文件還沒有加入XSL樣式表,還沒有被轉換成HTML文件。

下面是用JavaSript來實現最后轉換的HTML代碼:<html>
<body>
<script language="javascript">
// Load XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("cd_catalog.xml")
// Load the XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("cd_catalog.xsl")
// Transform
document.write(xml.transformNode(xsl))
</script>
</body>
</html>
 上面代碼中使用了Javascript,如果你不知道如何寫JavaScript,您最好專門學習一下。

第一段代碼建立一個Microsoft Parser(XMLDOM)解析的對象,并將XML文檔讀入內存;第二段代碼建立另外一個對象并導入XSL文檔;最后一行代碼將XML文檔用XSL文檔轉換,并將結果輸出到HTML文件中。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人做爰www免费看视频网站| 91精品国产免费久久久久久| 亚洲在线视频观看| 国产精品美女久久久久久免费| 亚洲福利视频网| 亚洲性视频网站| 欧美丰满片xxx777| 欧美日韩亚洲视频| 亚洲色图在线观看| 欧美性受xxxx白人性爽| 国产自产女人91一区在线观看| 亚洲aa在线观看| 91夜夜揉人人捏人人添红杏| 搡老女人一区二区三区视频tv| 国产日韩欧美在线看| 久久国产精品影视| 欧美日韩免费在线| 精品国内亚洲在观看18黄| 成人黄色在线播放| 国产欧美日韩高清| 91最新国产视频| 亚洲精选一区二区| 亚洲日韩中文字幕| 亚洲精品乱码久久久久久金桔影视| 岛国av在线不卡| 亚洲精品99999| 欧美午夜精品久久久久久浪潮| 91精品国产色综合久久不卡98| 日本最新高清不卡中文字幕| 一区二区三区日韩在线| 欧美精品videosex性欧美| 欧美日韩国产一区二区三区| 高清日韩电视剧大全免费播放在线观看| 欧美激情精品久久久久久久变态| 日韩精品中文字幕在线播放| 久久综合久久美利坚合众国| 日韩av中文字幕在线免费观看| 色偷偷av一区二区三区| 欧美激情一区二区三区高清视频| 亚洲图片在线综合| 日韩精品丝袜在线| 亚洲一区二区三区777| 欧美插天视频在线播放| 国产精品网站入口| 91av中文字幕| 精品在线观看国产| 国产日韩欧美视频| 国产精品中文字幕在线观看| 亚洲精品ady| 黄色91在线观看| 国产精品69久久| 亚洲一区二区黄| 国产精品国产福利国产秒拍| 成人黄色大片在线免费观看| 亚洲人线精品午夜| 国产91在线高潮白浆在线观看| 精品日韩中文字幕| 亚洲欧美日韩一区在线| 高清一区二区三区日本久| 国产精品极品美女在线观看免费| 热久久免费国产视频| 91嫩草在线视频| 成人激情春色网| 欧美性资源免费| 日韩视频第一页| 欧美最猛性xxxxx亚洲精品| 亚洲国产黄色片| 亚洲偷欧美偷国内偷| 久久全球大尺度高清视频| 亚洲一区二区久久| 日韩精品在线免费观看| 色午夜这里只有精品| 国产精品人成电影| 日本免费在线精品| 国产精品草莓在线免费观看| 国产成人在线视频| 亚洲色图欧美制服丝袜另类第一页| 国产精品成人va在线观看| 日韩av电影在线播放| 亚洲区bt下载| 91高清视频在线免费观看| 一区二区欧美亚洲| 91中文字幕在线| 久久久久久尹人网香蕉| 精品视频偷偷看在线观看| 欧美在线亚洲在线| 欧美性xxxxxxxxx| 亚洲视频在线观看免费| 日韩美女在线播放| 国产精品视频成人| 日韩hd视频在线观看| 98视频在线噜噜噜国产| 亚洲精品免费一区二区三区| 欧美大肥婆大肥bbbbb| 欧美精品www| 久久久久久噜噜噜久久久精品| 北条麻妃在线一区二区| 精品国产一区二区三区在线观看| 在线播放精品一区二区三区| 日韩欧美视频一区二区三区| 亚洲经典中文字幕| 日韩av大片免费看| 国产精品电影久久久久电影网| 亚洲美女性视频| 亚洲图片欧洲图片av| 性欧美长视频免费观看不卡| 久久韩剧网电视剧| 福利视频一区二区| 中文字幕亚洲天堂| 热久久视久久精品18亚洲精品| 国产精品成人av性教育| 91极品女神在线| 亚洲美女性生活视频| 色爱精品视频一区| 91高潮精品免费porn| 亚洲免费一级电影| 国产精品va在线播放我和闺蜜| 亚洲女人天堂av| 日韩视频永久免费观看| 日韩精品在线视频美女| 国产精品视频在线观看| 成人久久一区二区| 日韩电影大全免费观看2023年上| 色婷婷久久一区二区| 亚洲第一网中文字幕| 97免费中文视频在线观看| 中文字幕日韩在线播放| 欧美综合在线第二页| 亚洲第一视频网站| 久久影院中文字幕| 亚洲欧美日韩直播| 国内免费精品永久在线视频| 91香蕉嫩草影院入口| 亚洲欧美在线免费观看| 久久久久久av| 日韩精品免费在线观看| 国产精品久久久久久av福利| 51精品在线观看| 亚洲色图色老头| 亚洲永久免费观看| 欧美在线激情网| 欧美日韩激情视频| 欧美有码在线视频| 欧美福利小视频| 精品成人在线视频| 欧美日韩性视频| 成年人精品视频| 日韩电影中文字幕在线| 国产亚洲精品美女久久久| 欧美日韩国产成人在线观看| 欧美在线亚洲一区| 成人免费观看49www在线观看| 中文字幕亚洲一区二区三区| 日韩一区二区福利| 亚洲欧洲自拍偷拍| 成人妇女淫片aaaa视频| 久久欧美在线电影| 亚洲品质视频自拍网| 欧美有码在线视频| 日韩免费av一区二区| 欧美日韩激情视频8区| 久久影视三级福利片| 久热99视频在线观看| 亚洲999一在线观看www|