Corsair

          My javaWorld
          數(shù)據(jù)加載中……
          XML精要一

          《XML精要》
          前言
          開始學(xué)XML也有個(gè)把星期了,前后看了幾本書關(guān)于XML基礎(chǔ)的書,感覺講的甚是凌亂,有些書甚至干脆直接在網(wǎng)上COPY些資料東抄一點(diǎn)西抄一點(diǎn)最后就出版了(比如《XML語(yǔ)言及應(yīng)用---清華大學(xué)出版社》就干脆直接將網(wǎng)上的《XML初學(xué)進(jìn)階》抄下來(lái),將例子改改就完了)現(xiàn)在中國(guó)大學(xué)治學(xué)的態(tài)度可見一斑,直到本周發(fā)現(xiàn)了一個(gè)IBM的在線XML教程,該教程將XML所有的知識(shí)分解為一個(gè)個(gè)單獨(dú)的講座,每堂課還介紹了所需要的前提知識(shí)以及所要用到到參考資料,而且教程將知識(shí)講的非常的簡(jiǎn)練和精確,但可惜該教程是在2002年左右發(fā)表的了,在網(wǎng)上資源不是很好找而且比較散,所以我決定將我學(xué)的每趟講座的精要和我個(gè)人的讀書筆記整理出來(lái)形成一個(gè)連載,一來(lái)鞏固我的學(xué)習(xí),二來(lái)也可以供大家參考,取名《XML精要》。言歸正傳,那我就開始嘍!
          //===============================
          第一講《理解XML》精要
          第一部分《XML 文檔基本規(guī)則》:
          定義
          無(wú)效文檔:沒有遵守 XML 規(guī)范定義的語(yǔ)法規(guī)則。如果開發(fā)人員已經(jīng)在 DTD 或模式中定義了文檔能夠包含什么,而某個(gè)文檔沒有遵守那些規(guī)則,那么這個(gè)文檔也是無(wú)效的。
          有效文檔:既遵守 XML 語(yǔ)法規(guī)則也遵守在其 DTD 或模式中定義的規(guī)則。
          格式良好的文檔:遵守 XML 語(yǔ)法,但沒有 DTD 或模式。
          //===============================
          語(yǔ)法
          1 XML聲明:xml以聲明作為開始,它向解析器提供了關(guān)于文檔的基本信息。建議使用 XML聲明,但它不是必需的。如果有的話,那么它一定是文檔的第一樣?xùn)|西即只能放在第一行。
          //==========
          2 根元素:XML 文檔有且僅有一個(gè)根元素。
          3 XML 元素不能重疊 例如 <b>I <i>really love</b> XML.</i>在xml里是不允許的。
          4 不能省去任何結(jié)束標(biāo)記 所有的標(biāo)簽都要成對(duì)的出現(xiàn)。
          5 XML中可以出現(xiàn)空元素。例如下面兩種寫法是相同的
          <img src="../img/c.gif"></img>
          <img src="../img/c.gif" />你可以把“/”寫在“<>”中;
          6 XML 元素是區(qū)分大小寫的,xml語(yǔ)言是大小寫敏感的。
          7 屬性必須有用引號(hào)括起的值<img? src=” ../img/c.gif”>
          //===============================
          其他:
          9 注釋:注釋可以出現(xiàn)在文檔的任何位置。格式:<!—這里是注釋-->
          //==========
          10 處理指令:處理指令是為使用一段特殊代碼而設(shè)計(jì)的標(biāo)記。在下面的示例中,有一個(gè)用于 Cocoon 的處理指令(有時(shí)稱為 PI),Cocoon 是來(lái)自 Apache 軟件基金會(huì)(Apache Software Foundation)的 XML 處理框架。當(dāng) Cocoon處理 XML 文檔時(shí),它會(huì)尋找以cocoon-process開頭的處理指令,然后相應(yīng)地處理XML 文檔。
          在該示例中,type屬性告訴 Cocoon:XML 文檔包含一個(gè) SQL 語(yǔ)句。
          <!-- Here's a PI for Cocoon: -->
          <?cocoon-process type="sql"?>
          //==========
          11 實(shí)體:下面的示例為文檔定義了一個(gè)實(shí)體。
          <!-- Here's an entity: -->
          <!ENTITY dw "developerWorks">
          無(wú)論 XML 處理器在何處找到字符串dw,它都會(huì)用字符串developerWorkds代替該實(shí)體。XML 規(guī)范還定義了五個(gè)您可以用來(lái)替代不同的特殊字符的實(shí)體。這些實(shí)體是:&lt代表小于符號(hào)&gt代表大于符號(hào) &quot代表一個(gè)雙引號(hào)&apos代表一個(gè)單引號(hào)(或撇號(hào))&amp代表一個(gè)“與”符號(hào)。
          //==========
          12 名稱空間
          為了區(qū)別不同XML文檔檔中的同一些標(biāo)簽符號(hào)引入名稱空間以示區(qū)別,定義名稱空間的語(yǔ)法如下:要使用名稱空間,您要定義一個(gè)名稱空間前綴,然后將它映射至一個(gè)特殊字符串。下面介紹如何定義元素的名稱空間前綴:
          <?xml version="1.0"?>
          <customer_summary
          ? xmlns:addr="h...
          <addr:name><title>Mrs.</title> ... </addr:name>
          注意:名稱空間定義中的字符串僅僅是字符串。對(duì),這些字符串看似 URL,其實(shí)不是。稱空間唯一的重要性在于其唯一性。所以通常使用URL原因。它只是把那個(gè)文本作為字符串使用。這有些令人困惑,但名稱空間就是這樣工作的。

          posted on 2006-10-29 22:54 銀河海盜 閱讀(336) 評(píng)論(1)  編輯  收藏 所屬分類: WEB

          評(píng)論

          # re: XML精要一 2007-02-08 09:07 ddd

          只有一講?
          主站蜘蛛池模板: 承德市| 神池县| 涞源县| 普兰县| 无锡市| 黎平县| 鲁甸县| 阳山县| 景德镇市| 湖北省| 安庆市| 青龙| 尼勒克县| 开江县| 柏乡县| 江口县| 克什克腾旗| 长治市| 柳江县| 巴青县| 肇东市| 淅川县| 东明县| 四川省| 任丘市| 奉节县| 绥阳县| 大关县| 固原市| 新绛县| 阳曲县| 东辽县| 双鸭山市| 井冈山市| 永春县| 长治市| 康定县| 汶上县| 裕民县| 那曲县| 信丰县|