DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> XML學習教程 >> XML詳解 >> 跟我學XML和XSL
跟我學XML和XSL
編輯:XML詳解     

第一個文檔

隨著Internet的發展,越來越多的信息進入互聯網,信息的交換、檢索、保存及再利用等迫切的需求使HTML這種最常用的標記語言已越來越捉襟見肘。HTML將數據內容與表現融為一體,可修改性、數據可檢索性差,而借鑒了Html與數據庫、程序語言的優點,將內容與表現分開,不僅使檢索更為方便,更主要的是用戶之間數據的交換更加方便,可重用性更強。

是一種元標記語言,沒有許多固定的標記,為web開發人員提供了更大的靈活性。當我們使用HTML時,標記只是簡單的表示內容的顯示形式,而與表示的內容沒有任何關聯,為文檔的進一步處理帶來極大的不便。比如要表示個人簡歷,用Html的表示方式

Html

BODY

TABLEborder=1cellspacing=0

TH姓名TD禹希初TH性別TD男TH生日TD1977.5

TR

TH技能TDcolspan=5數據庫設計與維護、web開發

/TABLE

/BODY

/Html

在這裡,我們無法從標記TH、TD得知其內容表示什麼,如果用,相應的文檔(文件名:個人簡歷.XML)就可寫成如下形式:

?XMLversion="1.0"encoding="GB2312"?

resume

name禹希初/name

sex男/sex

birthday1977.5/birthday

skill數據庫設計與維護、web開發/skill

/resume

說明:

version──規定了文檔的版本,此處只能是1.0;

encoding──此處規定了文檔的編碼類型,此處取值為“GB2312”,也就是“簡體中文”。

對比兩例,使用我們可以做到自定義標記,用標記表明內容的含義。這樣在Internet上交流資料時,為用計算機處理文檔提供了極大的方便,同時我們閱讀源文件時也不會被一大堆格式弄得暈頭轉向。

然而,由於並沒有為標記規定顯示方式,如果我們在游覽器中查看以上兩個文檔(建議使用IE5.0或更新版本),我們將看到XML文檔並沒有以諸如表格的方式來顯示。難道我們就不能像Html一樣顯示文檔嗎?回答是否定的。以個人簡歷為例,需要另建一個格式文件說明各個標記的顯示方式,其內容如下(假設文件名為resume.CSS):

resume{display:block;}

name{display:block;font-size:120%;}

sex{display:block;text-indent:2em}

birthday{display:block;text-indent:2em}

skill{display:block;text-indent:2em}

說明:

以上均為CSS樣式,建議讀者參考有關資料熟悉CSS,在以後學習中必須用到,此處由於篇幅關系不作介紹。建立文件resume.CSS後,在個人簡歷.XML文件的第一行後添加以下文字:

?XML:stylesheettype="text/css"href="http://edu.IEcool.com/show/resume.CSS"?

說明:

此處表示引用一個外部CSS樣式文件,其中type規定樣式類型(可取值為text/CSS或text/xsl),href規定文件路徑。

保存文件,再以IE5.0打開文件。怎麼樣?格式有些不一樣吧。好象還不令人滿意,文檔內容是清晰了,但顯示效果比Html編寫的文檔就差得多了,編寫的文檔就只能以這種方式顯示嗎?!

提示:

1.為了更好的理解與掌握,建議大家熟悉Html4.0與CSS2.0語法;掌握JavaScript、VBscript中至少一種;編程經驗、對數據庫理論與SQL的了解均能使大家在學習時獲益。

2.文檔中標記必須成對出現,如果是空標記也必須有前加“/”的同名標記結束,或使用此種文式XML_mark/表示空標記。

3.以及下周將要介紹的XSL文檔,屬性值必須用雙引號(")或單引號(‘)括起來。

4.文檔必須是好結構的(XSL文檔也是文檔中一種),也就是說標記必須有結束標記、標記可以嵌套但不可交叉,如

outerinner/innerinner//outer

是合法的,而下面的形式

outerinner/outer/inner

則是錯誤的。如果文檔在浏覽時出錯,多半是違反了上面提到的規則。

跟我學XSL(二)(返回標題)

2000-05-04禹希初CPCW

XSL入門

上期我們講到用CSS(層疊樣式表)來格式化文檔,其效果並不很令人滿意。實際上CSS用來格式化Html標記比較合適些,只是因為它簡單才在上例中采用。

在的時候只是一種數據文件,怎樣將它變為我們日常所看到的HTML格式那樣的文件呢?如果我們將文件比作結構化的原料的話,那麼XSL就好比“篩子“與“模子“,篩子選取自己需要的原料,這些原料再通過模子形成最終的產品:Html。

這個模子大致是這樣:我們先設計好表現的頁面,再將其中需要從中獲取數據來填充內容的部分“挖掉“,然後用XSL語句從中篩出相關的數據來填充。一言以譬之:這XSL實際上就是HTML的一個“殼子“,數據利用這個“殼“來生成“傳統“的Html。

在展開時是一個樹形結構,我們將樹形結構中自定義標記稱為節點,節點之間存在父子、兄弟關系,我們要其中的結點從根結點就要以”/”來層層進入。

在XSL這個殼中,我們要從原料庫??裡提取相關的數據,就要用到XSL提供的模式化查詢語言。所謂模式化查詢語言,就是通過相關的模式匹配規則表達式從裡提取數據的特定語句,即我們上所說的“篩子“。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved