中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁(yè) > 技術(shù)文檔 > 網(wǎng)頁(yè)制作 > 跟我學(xué)XSL(一)
跟我學(xué)XSL(二) 回到列表 利用CSS改善網(wǎng)站可訪問性
 跟我學(xué)XSL(一)

作者:禹希初 時(shí)間: 2004-04-09 文檔類型:轉(zhuǎn)載 來自:CSDN

第 1 頁(yè) 第一個(gè)XML文檔
第 2 頁(yè) XSL入門
第 3 頁(yè) XSL模板與匹配模式
第 4 頁(yè) 測(cè)試模式
第 5 頁(yè) XSL中的choose

  上期我們講到用CSS(層疊樣式表)來格式化XML文檔,其效果并不很令人滿意。實(shí)際上CSS用來格式化HTML標(biāo)記比較合適些,只是因?yàn)樗?jiǎn)單才在上例中采用。

  XML在更多的時(shí)候只是一種數(shù)據(jù)文件,怎樣將它變?yōu)槲覀內(nèi)粘K吹降腍TML格式那樣的文件呢?如果我們將XML文件比作結(jié)構(gòu)化的原料的話,那么XSL就好像"篩子"與"模子",篩子選取自己需要的原料,這些原料再通過模子形成最終的產(chǎn)品:HTML。

  這個(gè)模子大致是這樣:我們先設(shè)計(jì)好表現(xiàn)的頁(yè)面,再將其中需要從XML中獲取數(shù)據(jù)來填充內(nèi)容的部分"挖掉",然后用XSL語句從XML中篩出相關(guān)的數(shù)據(jù)來填充。一言以譬之:這XSL實(shí)際上就是HTML的一個(gè)"殼子",XML數(shù)據(jù)利用這個(gè)"殼"來生成"傳統(tǒng)"的HTML。

  XML在展開時(shí)是一個(gè)樹形結(jié)構(gòu),我們將樹形結(jié)構(gòu)中自定義標(biāo)記稱為節(jié)點(diǎn),節(jié)點(diǎn)之間存在父子、兄弟關(guān)系,我們要訪問其中的結(jié)點(diǎn)從根結(jié)點(diǎn)就要以"/"來層層進(jìn)入。

  在XSL這個(gè)殼中,我們要從原料庫(kù)XML里提取相關(guān)的數(shù)據(jù),就要用到XSL提供的模式化查詢語言。所謂模式化查詢語言,就是通過相關(guān)的模式匹配規(guī)則表達(dá)式從XML里提取數(shù)據(jù)的特定語句,即我們上面所說的"篩子"。

  參考微軟的"XSL開發(fā)者指南",我們大致可將模式語言分為三種:

  選擇模式:

<xsl:for-each>、<xsl:value-of>和 <xsl:apply-templates>

  測(cè)試模式:

<xsl:if> 和<xsl:when>

  匹配模式:

<xsl:template>

  我們現(xiàn)在就分別對(duì)之進(jìn)行介紹。

  一、 選擇模式

  選擇模式語句將數(shù)據(jù)從XML中提取出來,是一種簡(jiǎn)單獲得數(shù)據(jù)的方法,這幾個(gè)標(biāo)記都有一個(gè)select屬性,選取XML中特定的結(jié)點(diǎn)名的數(shù)據(jù)。

  1、<xsl:for-each>

  如在XML中有這樣的數(shù)據(jù):

<author>
<name>小禹</name>
<name>春華</name>
<name>秋實(shí)</name>
</author>

  我們要讀取這三個(gè)作者名字,是一個(gè)一個(gè)地按"author/name"方法來讀取嗎,可有多個(gè)這樣的name呀?如果有一種程序性的語句來循環(huán)讀取有多好。

  想得很對(duì),XSL提供了這樣的具有程序語言性質(zhì)的語句:<xsl:for-each>

  用它讀取這三個(gè)作者名字的方法如下:

<xsl:for-each select="author/name">
……
</xsl:for-each>

  select,顧名思義,選取,它可以選定XML中特定唯一的標(biāo)記,也可以選擇某一類相同的標(biāo)記,我們稱之為結(jié)點(diǎn)集。

  語法:

<xsl:for-each select="pattern" order-by="sort-criteria-list">

  屬性:

  1.select

  根據(jù)XSL樣式查詢考察上下文以決定哪類結(jié)點(diǎn)集(滿足select條件)使用此樣式描述。作為一種簡(jiǎn)化的表示就是,如果你想對(duì)文檔中的某一種標(biāo)記的內(nèi)容的顯示方式進(jìn)行格式化,就可以將讓select等于此元素的標(biāo)記名。例如欲對(duì)標(biāo)記xml_mark進(jìn)行格式化,即可用如下方式表示:

<xsl:for-each select="xml_mark">
<!--樣式定義-->
</xsl:for-each>

  2.order-by

  以分號(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>

  <xsl:for-each>模式只是選取節(jié)點(diǎn),并沒有取出節(jié)點(diǎn)的值,好比猴子只是爬到了樹的某個(gè)枝干上,那么就用< xsl:value-of >來摘"勝利果實(shí)"吧!

  語法:

<xsl:value-of select="pattern">提取節(jié)點(diǎn)的值

  屬性:

  select用來與當(dāng)前上下文匹配的XSL式樣。簡(jiǎn)單的講,如果要在XSL文檔某處插入某個(gè)XML標(biāo)記(假定是xml_mark標(biāo)記)的內(nèi)容,可用如下方式表示:

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

  或

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

示例:

  此處仍以上期的個(gè)人簡(jiǎn)歷的作為例子,我們需要對(duì)文件(個(gè)人簡(jiǎn)歷.xml)作一定修改,確切的說是將其中的第二行:

<?xml-stylesheet type="text/css" href="resume.css"?>

  修改為:

<?xml-stylesheet type="text/xsl" href="resume.xsl"?>

  然后建立一個(gè)新文件:resume.xsl,其內(nèi)容如下:

<?xml version="1.0" encoding="GB2312"?>
<HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<HEAD>
<TITLE>個(gè)人簡(jiǎn)歷</TITLE>
</HEAD><BODY>
<xsl:for-each select="resume">
<P/>
<TABLE border="1" cellspacing="0">
<CAPTION style="font-size: 150%; font-weight: bold">
個(gè)人簡(jiǎn)歷
</CAPTION>
<TR>
<TH>姓名</TH><TD><xsl:value-of select="name"/></TD>
<TH>性別</TH><TD><xsl:value-of select="sex"/></TD>
<TH>生日</TH><TD><xsl:value-of select="birthday"/></TD>
</TR>
<TR>
<TH>技能</TH><TD colspan="5"><xsl:value-of select="skill"/></TD>
</TR>
</TABLE>
</xsl:for-each>
</BODY>
</HTML>


上例在瀏覽器中的樣子(IE5.0或更新版本)

  完成這些以后再來讓我們看一下辛勤勞動(dòng)的成果,怎么樣?效果不錯(cuò)吧。更酷還在后頭呢,F(xiàn)在我們對(duì)文件(個(gè)人簡(jiǎn)歷.xml)作進(jìn)一步的修改:

  1.在標(biāo)記<resume>前添加一個(gè)新標(biāo)記<document>;

  2.將標(biāo)記對(duì)<resume></resume>之間的內(nèi)容(包括這一對(duì)標(biāo)記)復(fù)制并粘貼在其后,并在最后用<document>結(jié)束。

  3.以Notepad.exe打開文件resume.xsl,在標(biāo)記<HTML>之后添加文字:<xsl:for-each select="document">;在標(biāo)記</HTML>之前添加文字:</xsl:for-each>,保存文件。

  4.在瀏覽器中打開文件(個(gè)人簡(jiǎn)歷.xml)。看到了什么??jī)煞輦(gè)人簡(jiǎn)歷!



上例在瀏覽器中的樣子(IE5.0或更新版本)


  就這樣,利用XML我們可以編寫內(nèi)容與樣式完成分離的文檔!當(dāng)然,XSL文件比一般的HTML文件要復(fù)雜一些,然而一旦完成則可用于格式化所有同類的XML文檔。

出處:CSDN
責(zé)任編輯:panliu888

上一頁(yè) 第一個(gè)XML文檔 下一頁(yè) XSL模板與匹配模式

◎進(jìn)入論壇網(wǎng)頁(yè)制作、網(wǎng)站綜合版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
重構(gòu)、標(biāo)準(zhǔn)、布局
網(wǎng)站設(shè)計(jì)的標(biāo)準(zhǔn)時(shí)代
跟我學(xué)XSL(二)
XML+ JS創(chuàng)建樹形菜單
本站會(huì)員制作 XML 指南 CHM版
作者文章
跟我學(xué)XSL(二)
跟我學(xué)XSL(一)
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁(yè)制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開啟
國(guó)際體驗(yàn)設(shè)計(jì)大會(huì)7月將在京舉行
中國(guó)國(guó)防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會(huì)
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺(tái)歷
Ps簡(jiǎn)單繪制一個(gè)可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡(jiǎn)單的作品展示頁(yè)面
CSS定位機(jī)制之一:普通流
25個(gè)最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁(yè) 首頁(yè) 前頁(yè) 后頁(yè) 尾頁(yè) 頁(yè)次:2/5頁(yè) 1個(gè)記錄/頁(yè) 轉(zhuǎn)到 頁(yè) 共5個(gè)記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請(qǐng)不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請(qǐng)與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請(qǐng)與我們聯(lián)系,我們將立即刪除修改。

您的評(píng)論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評(píng)論。如果您不是本站會(huì)員,你可以注冊(cè) 為本站會(huì)員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯(cuò)誤,請(qǐng)用報(bào)告錯(cuò)誤,以利文檔及時(shí)修改。
不評(píng)分 1 2 3 4 5
注意:請(qǐng)不要在評(píng)論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請(qǐng)您注意:
·不良評(píng)論請(qǐng)用報(bào)告管理員,以利管理員及時(shí)刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國(guó)的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評(píng)論管理人員有權(quán)保留或刪除其管轄評(píng)論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評(píng)論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評(píng)論文檔 | 報(bào)告錯(cuò)誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測(cè)試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2