Corsair

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

          《XML精要》
          前言
          開(kāi)始學(xué)XML也有個(gè)把星期了,前后看了幾本書關(guān)于XML基礎(chǔ)的書,感覺(jué)講的甚是凌亂,有些書甚至干脆直接在網(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)度可見(jiàn)一斑,直到本周發(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精要》。言歸正傳,那我就開(kāi)始嘍!
          //===============================
          第一講《理解XML》精要
          第一部分《XML 文檔基本規(guī)則》:
          定義
          無(wú)效文檔:沒(méi)有遵守 XML 規(guī)范定義的語(yǔ)法規(guī)則。如果開(kāi)發(fā)人員已經(jīng)在 DTD 或模式中定義了文檔能夠包含什么,而某個(gè)文檔沒(méi)有遵守那些規(guī)則,那么這個(gè)文檔也是無(wú)效的。
          有效文檔:既遵守 XML 語(yǔ)法規(guī)則也遵守在其 DTD 或模式中定義的規(guī)則。
          格式良好的文檔:遵守 XML 語(yǔ)法,但沒(méi)有 DTD 或模式。
          //===============================
          語(yǔ)法
          1 XML聲明:xml以聲明作為開(kāi)始,它向解析器提供了關(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開(kāi)頭的處理指令,然后相應(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

          只有一講?
          主站蜘蛛池模板: 望谟县| 萨嘎县| 延长县| 琼海市| 临海市| 梁河县| 长顺县| 三原县| 金阳县| 巧家县| 三台县| 东阳市| 昌吉市| 尼玛县| 团风县| 乌兰浩特市| 揭阳市| 祁门县| 施秉县| 乌审旗| 湛江市| 同德县| 连江县| 华宁县| 英吉沙县| 丽水市| 定远县| 武隆县| 曲水县| 唐山市| 镇沅| 轮台县| 积石山| 革吉县| 易门县| 滨州市| 溧水县| 藁城市| 金阳县| 天台县| 泸水县|