首頁(yè) > 設計 > WEB開(kāi)發(fā) > 正文

跟我學(xué)XSL(一)

2020-10-03 17:39:59
字體:
來(lái)源:轉載
供稿:網(wǎng)友

第 1 頁(yè) 第一個(gè)XML文檔

  隨著(zhù)Internet的發(fā)展,越來(lái)越多的信息進(jìn)入互聯(lián)網(wǎng),信息的交換、檢索、保存及再利用等迫切的需求使HTML這種最常用的標記語(yǔ)言已越來(lái)越捉襟見(jiàn)肘。HTML將數據內容與表現融為一體,可修改性、數據可檢索性差,而XML借鑒了HTML與數據庫、程序語(yǔ)言的優(yōu)點(diǎn),將內容與表現分開(kāi),不僅使檢索更為方便,更主要的是用戶(hù)之間數據的交換更加方便,可重用性更強。

  XML是一種元標記語(yǔ)言,沒(méi)有許多固定的標記,為WEB開(kāi)發(fā)人員提供了更大的靈活性。當我們使用HTML時(shí),標記只是簡(jiǎn)單的表示內容的顯示形式,而與表示的內容沒(méi)有任何關(guān)聯(lián),為文檔的進(jìn)一步處理帶來(lái)極大的不便。比如要表示個(gè)人簡(jiǎn)歷,用HTML的表示方式如下:

<HTML>
<BODY>
<TABLE border=1 cellspacing=0>
<TH>姓名<TD>禹希初<TH>性別<TD>男<TH>生日<TD>1977.5
<TR>
<TH>技能<TD colspan=5>數據庫設計與維護、WEB開(kāi)發(fā)
</TABLE>
</BODY>
</HTML>

姓名 禹希初 性別 生日 1977.5
技能 數據庫設計與維護、WEB開(kāi)發(fā)

上例在瀏覽器中的樣子

  在這里,我們無(wú)法從標記TH、TD得知其內容表示什么,如果用XML,相應的文檔(文件名:個(gè)人簡(jiǎn)歷.xml)就可寫(xiě)成如下形式:

<?xml version="1.0" encoding="GB2312"?>
<resume>
<name>禹希初</name>
<sex>男</sex>
<birthday>1977.5</birthday>
<skill>數據庫設計與維護、WEB開(kāi)發(fā)</skill>
</resume>


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

說(shuō)明:

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

  encoding── 此處規定了XML文檔的編碼類(lèi)型,此處取值為"GB2312",也就是"簡(jiǎn)體中文"。

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

  然而,由于XML并沒(méi)有為標記規定顯示方式,如果我們在游覽器中查看以上兩個(gè)文檔(建議使用IE5.0或更新版本),我們將看到xml文檔并沒(méi)有以諸如表格的方式來(lái)顯示。難道我們就不能像HTML一樣顯示文檔嗎?回答是否定的。以個(gè)人簡(jiǎn)歷為例,需要另建一個(gè)格式文件說(shuō)明各個(gè)標記的顯示方式,其內容如下(假設文件名為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}

說(shuō)明:

  以上均為CSS樣式,建議讀者參考有關(guān)資料熟悉CSS,在以后學(xué)習中必須用到,此處由于篇幅關(guān)系不作介紹。建立文件resume.css后,在個(gè)人簡(jiǎn)歷.xml文件的第一行后添加以下文字:

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


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

說(shuō)明:

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

  保存文件,再以IE5.0打開(kāi)文件。怎么樣?格式有些不一樣吧。好象還不令人滿(mǎn)意,文檔內容是清晰了,但顯示效果比HTML編寫(xiě)的文檔就差得多了,XML編寫(xiě)的文檔就只能以這種方式顯示嗎?!

提示:

  1. 為了更好的理解與掌握XML,建議大家熟悉HTML 4.0與CSS 2.0語(yǔ)法;掌握javascript、VBscript中至少一種;編程經(jīng)驗、對數據庫理論與SQL的了解均能使大家在學(xué)習XML時(shí)獲益。

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

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

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

<outer><inner></inner><inner/></outer>

是合法的,而下面的形式

<outer><inner></outer></inner>

則是錯誤的。如果XML文檔在瀏覽時(shí)出錯,多半是違反了上面提到的規則。

發(fā)表評論 共有條評論
用戶(hù)名: 密碼:
驗證碼: 匿名發(fā)表