HTML的雙胞胎兄弟是誰?毫無疑問要說的是XML,作為一對孿生兄弟它們兩個基本的語法類似,但外表和內在是不等價的。雖然XML很像HTML,但它們兩個之間卻有著本質上的差異。
一、XML與HTML
XML(eXtensible Markup Language)是一種可擴充的標記語言,與HTML語言語法類似,同屬於標記語言。那到底要如何區分它們呢?
1、設計區別
XML被設計為傳輸和保存數據,其焦點是數據的內容。而HTML則是設計用來顯示數據,其焦點是數據的外觀。可以說HTML旨在顯示訊息,XML旨在傳輸訊息。
2、語法差異
(1)HTML的格式多樣,其中有些標記可以不成對出現,XML要求所有的標記都必須成對出現;
( 2)HTML的標籤是固定的樣式有限,XML可以進行任何擴展,標籤類型可以自己定義;
(3)HTML可以有多個標記頭,XML只允許有一個標記頭;
(4 )HTML標記不區分大小寫,XML區分大小寫。
二、XML詳解
曾記否在開發系統時使用的系統設定文檔,是的它就是xml文檔。作為系統的設定檔是xml的主要應用,同時它也可以用在Ajax或Web Services中傳輸資料。
1、XML歷史
在詳細了解XML基本用法前,我們先來看看標記語言的發展歷史。
XML的前身是SGML(The Standard Generalized Markup Language),它同時也是在HTML的基礎上優化得到的。 SGML是GML整理規範後的一種標準,但SGML是一種非常嚴謹的文字描述法,過於龐大複雜,難以理解。同時W3C(萬維網聯盟)也發現了HTML的問題,如:不能解釋類似影音檔、化學公式等其它形式的內容,且效能較差不易於擴充、彈性差等問題。為了解決上述問題,專家使用SGML簡易製作,並依照HTML的發展經驗開發了XML。
2、XML用法
先看一個XML實例
XML/HTML Code复制内容到剪贴板 <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type='text/xsl' href='content.xsl'?> <book> <书籍列表> <计算机书籍> <bookname isbn="xxx1234567"><<XML应用大全>></bookname> <price>39.00</price> </计算机书籍> </书籍列表> <!-- 我加上的注释 --> <书籍列表> <计算机书籍> <bookname><![CDATA[Oracle应用大全《《《》》》‘’;;‘’“”]]></bookname> <price>39.00</price> </计算机书籍> <计算机书籍> <bookname>Java应用大全</bookname> <price>39.00</price> </计算机书籍> </书籍列表> </book>
#2.1 宣告
格式良好的XML文件,要以XML聲明開始,即上面範例中的ffeb40d5bcdc5458d8776a6742da47e3,它提供了關於文檔的基本資訊。其中encoding表示XML檔案呢使用的字元編碼方式,要儲存的XML文檔編碼格式必須是encoding屬性值。
2.2 元素
元素是開始標籤、結束標籤及兩者之間的所有內容。
和HTML基本上組成相同,XML也是有基本的標籤構成,其中標籤的格式和HTML標籤相同,不同的是XML標籤有開始標籤就必須要有結束標籤,而且嚴格區分大小寫。它允許標籤格式嵌套,但必須正確嵌套。
XML結構上是一種樹狀結構,它的內容必須只有一個根元素,其它的元素必須嵌套在根元素內。如:上例中的463aef0d2da08708f472268a99530dbe0f6fa65eb6c7f3ed4374d12bf4ac01bd即為根元素。
2.3實體引用
#實體引用即使用特定的格式在XML文件中列印出一些特殊的符號,類似於下面要說的CDATA中的文字。
XML/HTML Code复制内容到剪贴板 <book> <书籍列表> <计算机书籍> <bookname isbn="xxx1234567"><<XML应用大全>></bookname> <price>39.00</price> </计算机书籍> </书籍列表> </book> <!-- 使用IE打开上面的代码查看下结果 -->
#基本的實體引用不在詳述。
2.4 特殊標籤
CDATA是一個特殊的標籤,它能夠使在其內的所有內容以文字的形式列印輸出。形式如下:
XML/HTML Code复制内容到剪贴板 <![CDATA[文本内容]]> <?xml version='1.0' encoding='utf-8'?> <书籍列表> <计算机书籍> <bookname><![CDATA[Oracle应用大全《《《》》》‘’;;‘’“”]]></bookname> <price>39.00</price> </计算机书籍> <书籍列表>
三、注意
1、要有聲明:cf6444acc7891cf8225444cfa321fe02;
2、儲存時要根據encoding中的編碼類型保存成對應的類型,在儲存時別忘記選擇保存類型;
3、只有一個頂元素;
4、大小寫敏感;
5、屬性的值必須使用引號括起來(單引號或雙引號);
6、要有始有終;
7、嵌套形式要正確。
上面對XML的基本應用進行了討論,XML很簡單吧。是不是XML就這些內容了呢?當然不是,從它的基本名字可以看出它也是一種程式語言,那就應該要具有程式語言的一些特性,如一些語言中的模板或Java中的API。是的,XML也可以定義自己的語法結構,可以像程式語言一樣寫模板函數,只是在XML中它叫做合法的XML,也就是大家所說的經DTD或Schema驗證的合法的XML。
以上是XML基本概念入門介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!