XML,呵呵新接觸的。以前也聽過XML,但不是很瞭解。第一章今天也學完了,也對XML有了一點的瞭解,下來我也談談“XML”呵呵。主要是第一章XML的概述和DTD技術。如果那裏有錯誤,希望朋友們幫我指出來。也讓我學習學習。不廢話了,進入正題XML·
一· 什麼是XML 和XML 的產生
XML英文縮寫(eXtensible Markup Language)意思是可擴展的標記語言,它是標準通用標記語言。
XML是一套定義語義標記的規則。XML是創建標記語言的元語言。XML有兩個先驅。-SGML和HTML這兩個都是很成功的標記語言。SGML也是可以創建標記的語言。 SGML在web發明之前早已存在的使用標記來描述文檔資料的通用語言。它是一種定義標記語言的元語言。
1998年2月 W3C發佈了XML1.0的標準期末的是爲了在WEB上能以現有的超文本表就語言(HTML)
的使用提供和接收處理通用的SGML。XML是SGML的一個簡化子集。它是一種開放的。自我描述
的方式定義了數據結構。在描述數據內容的同時能突出對結構的描述。從而體現出數據與數據之間的關係。
W3C是萬維網聯盟。 應爲縮寫是 World wide web Consortium 成立於1994-10 以開放論壇
的方式來促進開發互通技術,開發網絡全部潛能。之成立以來發布了90多份WEB技術規範。領導着WEB技術方向發展。
二 XML的特點
1 XML允許各種不同專業開發與自己的特定領域有關的標記語言。
2 XML具有較好的保值性。
3 應用間數據交換。
三 XML文檔的編寫。
下來就進入到了XML的文檔部分。如果你現在不明白什麼是XML文檔。就在網上找一段完整的XML代碼。然後保存爲AA.XML打開這個就是XML文檔。呵呵。
XML的文檔結構。從邏輯上說,文檔組成部分可以分爲。元素、註釋、聲明、字符引用和文檔定義或處理指令。
一個零良好的XML包括這三個部分。
下面是XML文檔元素。
<student>
<name>Tom</name>
<age>28</age>
</student>
標記是XML的精髓。 XML對文檔的格式要求非常嚴格,HTML文檔格式非常鬆散,導致了HTML文檔解析的複雜性。也造成了瀏覽器兼容問題。所以XML從一開始。就對文檔格式制訂了非常嚴格的標準。
XML文檔使用標記的規範:
1 大小寫有所區分。
2 開始標籤必須要有一個結束標籤。
3 所有的標記要正確嵌套。
4 所有標籤的屬性必須要用雙引號或者單引號括起來。
如: <商品 類型=“服裝” 顏色=“黃色“>
類型和顏色是標記商品的屬性。 服裝是類型的值。黃色是顏色的值。
剛纔說了XML文檔從邏輯上有5部分組成,現在我簡單聊下。
1 XML的聲明
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2 XML類型聲明。
當你把你的XML文檔給別人別人怎麼知道你XML聲明的標籤是聲明?所以可以用DTD規範XML文檔。
3 元素
XML中元素由開始和結束標籤構成。對於空元素。有空元素的構成。
元素是XML文件的基本單元。其形式爲<標記>數據內容</標記>
元素的命名要注意幾點。
· 名稱只能以字母。下劃線。或者冒號(建議不要使用冒號。這個和名稱命名空間用於分割名稱空間前綴。和本地部分。有所衝突。所以慎用。)開頭。
· 名稱中可以包含字母。數字,下午先以及在XML標準中允許使用的字符。
· 名稱中不能包含空格。
4 註釋
註釋和HTML註釋一樣<!--註釋內容-->
5 處理指令。
下來談談XML裏面的預定義實體。
如果你XML文檔裏面需要出現< > & " '怎麼辦?而這些標記XML被留用在標記的命名空間裏。那你輸入不是會衝突。所以有了預定義實體。 < 可以用< > 可以用> &可以用& "可以用 " '可以用' 如:<remark value="Dont't open the door">可以寫成<remark value=" Dont't ...">
三 DTD
一個 "有效的"文件首先應該是"形式良好"的。但是這是遠遠不夠得。他還要往前更進一步。
所以出現了DTD規範XML的標規定。XML文件必須遵循文件類型DTD。
DTD分爲內部DTD和外部DTD
1 內部DTD 很簡單。就是在XML文件的序言處加入一個DTD描述。加入位置要緊接在XML處理指令之後。
如: <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<?DOCTYPE 根元素名[
元素描述
]>
文件體。。。
呵呵,很簡單吧。但是如果每個XML文件都要定義這樣一段DTD那不是很繁瑣。所以出現了外部DTD
2 外部DTD
DTD裏面的屬性類型:
CDATA 最通常的一種屬性類型。表明屬性爲字符數據。它和元素內容中的的#PCDATA是一樣的。
Enumerated在聲明屬性時。可以限制樹形的取值只能從一個列表中選擇。這類屬性屬於枚舉類型。
<!ATTLIST person sex(male|feamale) # REQUIRED>
ID ,IDREF,IDREFS
ID類型的屬性唯一標示XML文檔中的元素。
IDREF 類型的屬性值爲同一文檔中淚一個元素的ID類型的屬性值。而這個另一個元素的屬性值是必須存在的。
ENTITY 類型屬性是把外部的二進制數據連接到文檔。
ENTITY 類型的屬性值是在DTD中聲明的爲分析的一般實體名稱。外部DTD的好處就是:他可以方便高效的被多個XML文件所共享。
屬性裏面的一些缺省值:
必須賦值的屬性:REQUIRED
屬性值可有可無得屬性:IMPLIED
固定取值的屬性:FIXED
定義缺省值的屬性:默認
帶參數的實體
<!ENTITY % 實體名 SYSTEM "外部文件名">引用方式爲:
%實體名 這樣就可以了。
什麼是有效的XML
·一個遵守XML語法規則。並遵守相相應的DTD文件約束的XML文檔稱爲的XML文檔。
· 注意區分格式良好的XML和有效的XML。一個只遵循XML規範。一個不但要遵循的XML規範。還要遵循相應的DTD約束。
下來簡單說下 XML HTML 和SGML的關係
SGML 是一種在web發明之前早已存在的使用標記來描述文檔資料的通用語言。它是一種定義標記語言的元語言。HTML和XML都是從SGML發展而來的標記語言。因此,它們有一些共同特點。如。相識的語法和標記的使用。XML是sgml的一個簡化版本,是SGML的一個子集。嚴格意義上說。XML仍然是SGML
HTML不能用來定義新的應用。而XML可以。例如:RDF和CDF都是XML定義的應用。SGML比較複雜。而XML得設計出發點是SGML的優點。去掉複雜的部分。保持輕巧。使得可以在WEB上工作。
HTML.SGML 和XML 講繼續用於其適合的地方。它們中的任何一個都不會使得其他一個廢棄。如果數據要長期使用,並且需要更多的一些結構。那使用XML是最好不過的了。
呵呵,寫完這些都用了2個小時了。呵呵。寫一遍收穫也不少。我也要每天堅持了。呵呵。大家一起進步。瞌睡了。該睡覺了··