-
可擴展標記語言
鎖定
可擴展標記語言背景
1996年7月 W3C在Jon Bosak(SUN公司的網絡技術專家)的建議下成立了XML規範制訂小組,其目的是為了將標準通用標記語言SGML(Standard Generic Markup Language)方便地應用於網絡,參加規範制訂的是一大批著名公司、學術機構代表和SGML 專家。在他們的共同努力下XML 1.0建議書8經W3C認可於1998年2月10日正式公佈於眾。隨即,XML便成為近年來國外許多科研機構、知名數據庫廠商和網絡軟件產品開發商的研發熱點,國內對XML的研究方興未艾。
[11]
XML是一種獨立於軟件和硬件的工具,用於存儲和傳輸數據。XML代表可擴展標記語言,是一種與HTML非常相似的標記語言,被設計用於存儲和傳輸數據,XML被設計為自描述的, XML是W3C推薦標準。
[9]
可擴展標記語言原理
可擴展標記語言與Access,Oracle和SQL Server等數據庫不同,數據庫提供了更強有力的數據存儲和分析能力,例如:數據索引、排序、查找、相關一致性等,可擴展標記語言僅僅是存儲數據。事實上它與其他數據表現形式最大的不同是:可擴展標記語言極其簡單,這是一個看上去有點瑣細的優點,但正是這點使它與眾不同。
[3]
XML的簡單易於在任何應用程序中讀/寫數據,這使XML很快成為數據交換語言(此類語言主要包括XML,JSON等,常用於接口調用,配置文件,數據存儲等場景
[8]
),雖然不同的應用軟件也支持其他的數據交換格式,但不久之後它們都將支持XML,那就意味着程序可以更容易的與Windows、Mac OS、Linux以及其他平台下產生的信息結合,然後可以很容易加載XML數據到程序中並分析它,並以XML格式輸出結果。
[3]
可擴展標記語言發展
隨着Web應用的不斷髮展,HTML的侷限性也越來越明顯地顯現了出來,如HTML無法描述數據、可讀性差、搜索時間長等。人們又把目光轉向SGML,再次改造SGML使之適應現在的網絡需求。隨着先輩的努力,1998年2月10日,W3C(World Wide Web Consortium,萬維網聯盟)公佈XML 1.0標準,XML誕生了。
[4]
當前的一些網站內容建設者們已經開始開發各種各樣的XML擴展,比如數學標記語言MathML、化學標記語言CML等。此外,一些著名的IT公司,如Oracle、IBM以及微軟等都積極地投入人力與財力研發XML相關軟件與服務支持,這無疑確定了XML在IT產業的重要地位。
[4]
可擴展標記語言SGML
早在Web未發明之前,SGML(Standard Generalized Markup Language,標準通用標記語言)就已存在,正如它的名稱所言,SGML是國際上定義電子文件結構和內容描述的標準。SGML具有非常複雜的文檔結構,主要用於大量高度結構化數據的訪問和其他各種工業領域,在分類和索引數據中非常有用。
[4]
雖然SGML的功能很強大,但是它不適用於Web數據描述,而且SGML軟件的價格非常昂貴;另外,SGML十分龐大,既不容易學,又不容易使用,在計算機上實現也十分困難:不僅如此,幾個主要的瀏覽器廠商都明確拒絕支持SGML,這無疑是SGML在網上傳播遇到的最大障礙。鑑於這些因素,Web的發明者——歐洲核子物理研究中心的研究人員,根據當時(1989年)的計算機技術,發明並推出了HTML。
[4]
可擴展標記語言HTML
HTML是一種界面技術,它只使用了SGML中很少的一部分標記,例如HTML 4.0中只定義了70餘種標記。為了便於在計算機上實現,HTML規定的標記是固定的,即HTML語法是不可擴展的。HTML這種固定的語法使它易學易用,在計算機上開發HTML的瀏覽器也十分容易。正是由於HTML的簡單性,使得基於HTML的Web應用得到了極大的發展。
[4]
可擴展標記語言特徵
總之,XML使用一個簡單而又靈活的標準格式,為基於Web的應用提供了一個描述數據和交換數據的有效手段。但是,XML並非是用來取代HTML的。HTML着重如何描述將文件顯示在瀏覽器中,而XML與SGML相近,它着重描述如何將數據以結構化方式表示。
[4]
可擴展標記語言規範
XML文件格式是純文本格式,在許多方面類似於HTML,XML由XML元素組成,每個XML元素包括一個開始標記( ),一個結束標記( )以及兩個標記之間的內容,例如,可以將XML元素標記為價格、訂單編號或名稱。標記是對文檔存儲格式和邏輯結構的描述。在形式上,標記中可能包括註釋、引用、字符數據段、起始標記、結束標記、空元素、文檔類型聲明( DTD)和序言。
[5]
具體規則如下:
<?xml version="1.0" encoding="utf-8"?>
2、注意大小寫
在XML文檔中,大小寫是有區別的。“A”和“a”是不同的標記。注意在寫元素時,前後標記的大小寫要保持一致。最好養成一種習慣,或者全部大寫,或者全部小寫,或者大寫第一個字母,這樣可以減少因為大小寫不匹配而產生的文檔錯誤。
[4]
3、XML文檔有且只有一個根元素
良好格式的XML文檔必須有一個根元素,就是緊接着聲明後面建立的第一個元素,其他元素都是這個根元素的子元素,根元素完全包括文檔中其他所有的元素。根元素的起始標記要放在所有其他元素的起始標記之前;根元素的結束標記要放在所有其他元素的結束標記之後。
[4]
4、屬性值使用引號
5、所有的標記必須有相應的結束標記
6、所有的空標記也必須被關閉
示例:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="osg.AndroidExample" android:installLocation="preferExternal" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:targetSdkVersion="8" android:minSdkVersion="8"></uses-sdk> <uses-feature android:glEsVersion="0x00020000"/> <!-- OpenGL min requierements (2.0) --> <uses-permission android:name="android.permission.INTERNET"/> <application android:label="@string/app_name" android:icon="@drawable/osg"> <activity android:name=".osgViewer" android:label="@string/app_name" android:screenOrientation="landscape"> <!-- Force screen to landscape --> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
XML與HTML區別
可擴展標記語言標準
雖然XML標準本身簡單,但與XML相關的標準卻種類繁多,W3C制定的相關標準就有二十多個,採用XML制定的重要的電子商務標準就有十多個。這一方面説明XML確實是一種非常實用的結構化通用標記語言,並且已經得到廣泛應用;另一方面,這又為了解這些標準帶來一定的困難,除了標準種類繁多外,標準之間通常還互相引用,特別是應用標準,它們的制定不僅僅使用的是XML標準本身,還常常用到了其他很多標準。XML標準的體系與SGML標準的體系非常相似,XML相關標準也可分為元語言標準、基礎標準、應用標準三個層次。
[6]
可擴展標記語言元語言標準
可擴展標記語言基礎標準
這一層次的標準是為XML的進一步實用化制定的標準,規定了採用XML制定標準時的一些公用特徵、方法或規則。如 XML Schema描述了更加嚴格地定義XML文檔的方法,以便可以更自動化處理XML文檔;XMLNamespace用於保證 XML DTD中名字的一致性,以便不同的DTD中的名字在需要時可以合併到一個文檔中;XSL是描述XML文檔樣式與轉換的一種語言;XLink用來描述XML文檔中的超鏈接;XPointer描述了定位到XML文檔結構內部的方法;DOM定義了與平台和語言無關的接口,以便程序和腳本動態訪問和修改文檔內容、結構及樣式等。
[6]
可擴展標記語言應用標準
XML已開始被廣泛接受,大量的應用標準,特別是針對因特網的應用標準,紛紛採用XML進行制定。有人甚至認為,XML標準是因特網時代的ASCII標準。在這因特網時代,幾乎所有的行業領域都與因特網有關。而它們一旦與因特網發生關係,都必然要有其行業標準,而這些標準往往採用XML來制定。
[6]
- 參考資料
-
- 1. 李曉軍主編.城市地下空間信息化技術指南:同濟大學出版社,2016.04:第3頁
- 2. 胡志坤,鄧鵬程,熊曄著.變電站物聯網與狀態監測技術:中南大學出版社,2014.07:第40頁
- 3. 李天祥編.ANDROID物聯網開發細緻入門與最佳實踐:中國鐵道出版社,2016.06:第79頁
- 4. 青島英谷教育科技股份有限公司編著.Web編程基礎:西安電子科技大學出版社,2016.01:第189頁
- 5. 袁滿,吳曉宇,黃剛,張巖,杜睿山編著.移動計算(修訂版):哈爾濱工業大學出版社,2015.08:第227頁
- 6. 李海生著.知識管理技術與應用:北京郵電大學出版社,2012.04:第27頁
- 7. 王莉. XML語言在網頁中的應用[J]. 電子技術與軟件工程, 2015(5):1.
- 8. 劉文, 甘志春, 李文,等. 基於XML和JSON的格式化網絡參數文件研究[J]. 計算機與網絡, 2013(24):4.
- 9. XML Introduction .w3schools.2020-01-05[引用日期2023-03-19]
- 10. XHTML - MDN Web 文檔術語表:Web 相關術語的定義 | MDN .mozilla官網[引用日期2023-04-12]
- 11. 吳恆山,熊波.可擴展標記語言XML的產生與應用技術[J].計算機工程與應用,2001,37(14):62-64
- 收起