国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

XML和XSLT技術(shù)在Web應(yīng)用中的研究

2011-11-15 05:03:20
關(guān)鍵詞:樣式頁面文檔

臺 雯

XML和XSLT技術(shù)在Web應(yīng)用中的研究

臺 雯

(天津市新華職工大學(xué),天津市 300040)

XML和XSLT相結(jié)合的技術(shù)應(yīng)用在Web應(yīng)用程序設(shè)計中,具有無可比擬的優(yōu)勢和廣闊的發(fā)展前景。文章主要介紹了XML技術(shù)和XSLT技術(shù),并通過實例介紹了XML和XSLT技術(shù)相結(jié)合在Web應(yīng)用中的方法。

Web應(yīng)用;XML;XSLT

一、引言

最初出現(xiàn)的Web應(yīng)用,只是一些靜態(tài)的HTML頁面,人們已遠(yuǎn)遠(yuǎn)不能滿足,人們需要在網(wǎng)上查詢信息、在線學(xué)習(xí)、網(wǎng)上辦公、網(wǎng)上購物等,這就迫切需要具有交互、動態(tài)功能的Web應(yīng)用,于是出現(xiàn)了CGI、JSP、ASP等多種動態(tài)Web技術(shù)。但是,這些技術(shù)并不能實現(xiàn)內(nèi)容和表現(xiàn)形式相分離,程序員在開發(fā)過程中需要編寫所有的代碼,系統(tǒng)的開發(fā)周期較長,系統(tǒng)的可擴(kuò)展性、可移植性和可維護(hù)性較差。因此,如何提高開發(fā)效率、降低成本、實現(xiàn)系統(tǒng)的跨平臺性已成為當(dāng)前Web應(yīng)用領(lǐng)域亟待解決的問題。隨著XML和相關(guān)標(biāo)準(zhǔn)的出現(xiàn),基于XML的Web應(yīng)用逐漸被人們所廣泛使用。

二、XML和XSLT技術(shù)

(一)XML簡介

XML(Extensible Markup Language,可擴(kuò)展標(biāo)識語言),它是由 W3C組織于1998年2月發(fā)布的一個標(biāo)準(zhǔn)。XML與 HTML(Hyper Text Markup Language,超文本標(biāo)記語言)一樣都是由SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用的標(biāo)記語言)衍生而來的,是SGML的一個子集,XML彌補(bǔ)了HTML語法過于簡單不能表現(xiàn)復(fù)雜形式的缺點(diǎn),它具有更好的靈活性和伸縮性,而且使用起來也不復(fù)雜[1]。

XML現(xiàn)在被廣泛的應(yīng)用,因為它具有如下主要特點(diǎn)[1][2]:

1.XML有很好的可擴(kuò)展性。與HTML不同,XML的標(biāo)簽不是預(yù)先定義的,而是允許使用者根據(jù)需要定義自己的標(biāo)記集。

2.XML支持內(nèi)容和表現(xiàn)形式相分離。在XML中,數(shù)據(jù)內(nèi)容和顯示樣式是分別存放的,顯示樣存放在樣式表中,如果需要改變數(shù)據(jù)內(nèi)容的顯示方式,只要修改樣式表就可以了,而不需修改數(shù)據(jù)文件?;赬ML的Web應(yīng)用程序,在搜索數(shù)據(jù)時可以高效的搜索相關(guān)標(biāo)記下的內(nèi)容,而不必遍歷整個XML文檔。

3.XML有很好的平臺無關(guān)性。XML可以在不同的平臺和系統(tǒng)的之間進(jìn)行信息交流。

4.XML非常易于處理。XML有非常嚴(yán)格的定義格式,定義格式具有層次性,并且它的標(biāo)準(zhǔn)是與廠商無關(guān)的,因此可以使用任何一種解析器來進(jìn)行處理。

(二)XSLT簡介

XSLT(Extensible Stylesheet Language Transformations,可擴(kuò)展樣式表轉(zhuǎn)換語言)它是由 W3C組織于1999年11月16日發(fā)布的一個標(biāo)準(zhǔn),它是XSL(Extensible Stylesheet Language,可擴(kuò)展樣式表語言)規(guī)范的一部分。XSL是用來為XML文檔設(shè)計顯示樣式的技術(shù),它包括XSLT、XPath、XSL FO三部分。

XSLT是用來將XML文檔轉(zhuǎn)換成HTML、XML或其他格式文檔的語言;XPath是用于在XML文檔中進(jìn)行定位的語言,XSLT使用XPath在XML文檔中查找信息[3]。

XSLT的轉(zhuǎn)換過程(如圖1所示):將XML文檔作為源文檔,然后使用編寫好的XSLT轉(zhuǎn)換樣式表(轉(zhuǎn)換模板),將它轉(zhuǎn)換成為目標(biāo)文檔(XML、HTML、C程序等文件)。

圖1 XSLT轉(zhuǎn)換過程

三、XML和XSLT技術(shù)的應(yīng)用示例

XML和XSLT技術(shù)在Web中的應(yīng)用,也就是數(shù)據(jù)內(nèi)容可以利用XML文檔來存儲,頁面顯示樣式利用XSLT文檔來描寫,實現(xiàn)了頁面的數(shù)據(jù)內(nèi)容與表現(xiàn)形式相分離。在XML文檔中,調(diào)用XSLT樣式表可以通過編寫相應(yīng)語句來完成。在XSLT文檔中,網(wǎng)頁的基礎(chǔ)結(jié)構(gòu)可以使用HTML標(biāo)簽來完成,對于XML文檔中相應(yīng)數(shù)據(jù)的調(diào)用可以通過XPath來完成。

下面,通過一個示例來說明XML和XSLT技術(shù)在Web中應(yīng)用的方法:

1.編寫XML文檔。

首先,需要創(chuàng)建XML文檔,XML文檔可以自己編寫也可以通過數(shù)據(jù)庫自動生成。本例編寫的XML文檔book.xml的代碼如下所示:

<?xml version="1.0"encoding="gb2312"?>

<bookshop>

<book>

<name>建黨偉業(yè)</name>

<author>黃亞洲</author>

<publisher>紅旗出版社</publisher>

<time>2011-6-1</time>

<price>¥50.00</price>

</book>

<book>

<name>山海經(jīng)密碼</name>

<author>阿菩</author>

<publisher>鳳凰出版社</publisher>

<time>2011-6-1</time>

<price>¥46.00</price>

</book>

.

.

.

</bookshop>

在XML文檔中,第一行是XML的說明,從第二行開始是自定義的標(biāo)記內(nèi)容。

2.編寫XSLT文檔。

圖2 顯示效果

為了顯示XML文檔中的數(shù)據(jù),接下來需要定義相應(yīng)的顯示樣式XSLT文檔。例如book.xsl的代碼如下所示:

<?xml version="1.0"encoding="gb2312"?>

<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">

<html>

<body>

<h2>圖書信息</h2>

<xsl:for-each select="bookshop/book">

<div style=";padding:10px;color:white;font-weight:bold;background-color:blue">

<xsl:value-of select="name"/>

</div>

<div style=";font-size:10pt;margin-left:30px;margin-bottom:1em">

<table border="0">

<tr> <td> <xsl:value-of select="author"/> </td> </tr>

<tr> <td> <xsl:value-of select="publisher"/> </td> </tr>

<tr> <td> <xsl:value-of select="time"/> </td> </tr>

<tr> <td> <xsl:value-of select="price"/> </td> </tr>

</table>

</div>

</xsl:for-each>

</body>

</html>

</xsl:template>

</xsl:stylesheet>

在XSLT文檔中,以“<xsl:>”開頭的是XSLT語句,“select”屬性中的內(nèi)容就是Xpath表達(dá)式。

3.顯示XML數(shù)據(jù)內(nèi)容。

最后,在book.xml的頂部加入<?xml-stylesheet type="text/xsl"href="book.xsl"?>,用來在XML文檔中引用XSLT文檔。

在瀏覽器(IE5.0以上)中就可以顯示出結(jié)果頁面了,如圖2所示。

[1]張弛.基于XML/XSLT的 Web站點(diǎn)生成器設(shè)計[D].西安建筑科技大學(xué)碩士學(xué)位論文,2004.

[2]成光.基于XML/XSLT的動態(tài)網(wǎng)頁自動生成系統(tǒng)研究與實現(xiàn)[D].蘇州大學(xué)碩士學(xué)位論文,2006.

[3]李浩光.基于XML/XSLT信息發(fā)布系統(tǒng)的設(shè)計與實現(xiàn)[J].軟件設(shè)計開發(fā),2009,(03).

Application Study on XML and XSLT Technology for Web

TAI Wen

(Tianjin Xinhua Staff and Workers University,Tianjin300040 China)

It has unparalleled advantages and broad prospects for development to apply the technology of combining XML and XSLT to the Web applications program design.This article introduces XML and XSLT technology and their combining methods through the examples.

web application;XML;XSLT

TP393

A

1673-582X(2011)11-0084-04

2011-09-02

臺雯(1980-),女,天津市人,碩士,天津市新華職工大學(xué)教師,講師,主要從事“計算機(jī)應(yīng)用技術(shù)”的研究。

猜你喜歡
樣式頁面文檔
CPMF-I 取樣式多相流分離計量裝置
刷新生活的頁面
CPMF-I 取樣式多相流分離計量裝置
有人一聲不吭向你扔了個文檔
取樣式多相流分離計量裝置
基于RI碼計算的Word復(fù)制文檔鑒別
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
這是巴黎發(fā)布的新樣式
不讓他人隨意下載Google文檔
電腦迷(2012年4期)2012-04-29 06:12:13
同一Word文檔 縱橫頁面并存
竹山县| 灵武市| 象州县| 南宁市| 龙南县| 辽宁省| 榆中县| 淮阳县| 昌平区| 瑞金市| 九龙坡区| 福清市| 桑日县| 陵水| 富锦市| 波密县| 临夏县| 西和县| 瓮安县| 福贡县| 海南省| 巴塘县| 沐川县| 福清市| 巴楚县| 株洲县| 明光市| 论坛| 长顺县| 淮北市| 特克斯县| 岳阳市| 容城县| 荥经县| 泽州县| 德庆县| 玛曲县| 怀来县| 临猗县| 阿坝| 罗城|