什麼是XML?(1)

 

什麼是XML?

  • XMLEXtensible Markup Language的縮寫

  • XML是一種類似於HTML的標記語言

  • XML是用來描述數據的

  • XML的標記不是在XML中預定義的,你必須定義自己的標記

  • XML使用文檔類型定義(DTD)或者模式(Schema)來描述數據

  • XML使用DTD或者Schema後就是自描述的語言

使用XML, CR / LF 被轉換爲 LF

使用 XML, 新行總是被標識爲 LFLine Feed,換行)。

你知道打字機是什麼麼?呵呵,打字機是在上個世紀裏使用的一種專門打字的機器。^&^

當你用打字機敲完一行字後,你通常不得不再把打字頭移動到紙的左端。

Windows應用程序中,文本中的新行通常標識爲 CR LF (carriage return, line feed,回車,換行)。在Unix應用程序中,新行通常標識爲 LF。還有一些應用程序只使用CR來表示一個新行。

<!-- 這是一個註釋 -->

使用XML,空白將被保留

屬性值必須使用引號""

XML文檔中的第一個元素就是根元素。

XML標記都是大小寫敏感的

 

XML元素命名

XML元素命名必須遵守下面的規則:

  • 元素的名字可以包含子母,數字和其他字符。

  • 元素的名字不能以數字或者標點符號開頭。

  • 元素的名字不能以XML(或者xmlXml,xMl...)開頭。

  • 元素的名字不能包含空格。

避免使用屬性?

應該避免使用屬性麼?

這裏有一些使用屬性引發的問題:

  • 屬性不能包含多個值(子元素可以)。

  • 屬性不容易擴展。

  • 屬性不能夠描述結構(子元素可以)。

  • 屬性很難被程序代碼處理。

  • 屬性值很難通過DTD進行測試。

如果使用屬性來存儲數據,那麼所編寫的XML文檔一定很難閱讀和操作。儘量使用元素來描述數據,僅使用屬性來描述那些與數據關係不大的額外信息。

統一資源標識符

通用資源標識符(A Uniform Resource Identifier (URI))是一個標識網絡資源的字符串。最普通的URI應該是統一資源定位符Uniform Resource Locator (URL)URL用於標識網絡主機的地址。另一方面,另一個不常用的URI是通用資源名字Universal Resource Name (URN)。在我們的例子中,一般使用的是URLs

下面是五個在XML文檔中預定義好的實體參考:

&lt;

<

 

小於號

&gt;

>

 

大於號

&amp;

&

&apos;

'

單引號

&quot;

"

雙引號


實體必須以符號"&"開頭,以符號";"結尾

注意: 只有"<" 字符和"&"字符對於XML來說是嚴格禁止使用的。剩下的都是合法的,爲了減少出錯,使用實體是一個好習慣。

CDATA部件

CDATA內部的所有內容都會被解析器忽略。

如果文本包含了很多的"<"字符和"&"字符——就象程序代碼一樣,那麼最好把他們都放到CDATA部件中。

一個 CDATA 部件以"<![CDATA[" 標記開始,以"]]>"標記結束:

在前面的例子中,所有在CDATA部件之間的文本都會被解析器忽略。

CDATA注意事項:

CDATA部件之間不能再包含CDATA部件(不能嵌套)。如果CDATA部件包含了字符"]]>" 或者"<![CDATA[" ,將很有可能出錯哦。

同樣要注意在字符串"]]>"之間沒有空格或者換行符。

下面的編碼類型不會導致錯誤,(用IE 5.0+瀏覽器觀看), 並且漢字顯示正常:

<?xml version="1.0" encoding="gb2312"?>

下面的編碼類型不會導致錯誤,(用IE 5.0+瀏覽器觀看), 並且漢字顯示正常:

<?xml version="1.0" encoding="gbk"?>

 

FS_UNKNOWN

 

PI

PI允許XML文件包含應用程序的指令,例如:在XML文件的開頭生命就是一個PT,這些信息告訴XML解析器如何處理XML文件,如下:

<?xml version=”1.0” encoding=”GB2312”?>

 

使用CSS來顯示XML

使用CSS樣式單 (Cascading Style Sheets) ,可以給XML文檔添加額外的現實信息。


cd_catalog.txt

 

數據綁定

XML數據島可以綁定到HTML元素上(比如表格)。

在下面的例子中,一個XML數據島(ID=cdcat)被從外部XML文檔載入。一個HTML的表格綁定到此數據島上。HTML表格內部的span元素使用datafld屬性和XML文檔相應的XML元素相互綁定。

<html>

<body>

<xml id="cdcat" src="cd_catalog.xml"></xml>

<table border="1" datasrc="#cdcat">

<tr>

<td><span datafld="ARTIST"></span></td>

<td><span datafld="TITLE"></span></td>

</tr>

</table>

</body>

</html>

 

命名空間屬性

命名空間屬性一般放置在元素的開始標記處,其使用語法如下所示:

xmlns:namespace-prefix="namespace"

在上面的例子中,命名空間定義了一個Internet 地址:

xmlns:f="http://www.w3schools.com/furniture"

W3C命名規範聲明命名空間本身就是一個統一資源標示符,Uniform Resource Identifier (URI)

當我們在元素的開始標記處使用命名空間時,該元素所有的子元素都將通過一個前綴與同一個命名空間相互關聯。

注意:用來標識命名空間的網絡地址並不被XML解析器調用,XML解析器不需要從這個網絡地址中查找信息,該網絡地址的作用僅僅是給命名空間一個唯一的名字,因此這個網絡地址也可以是虛擬的,然而又很多公司經常把這個網絡地址值象一個真實的Web頁面,這個地址包含了關於當前命名空間更詳細的信息。

統一資源標識符

通用資源標識符(A Uniform Resource Identifier (URI))是一個標識網絡資源的字符串。最普通的URI應該是統一資源定位符Uniform Resource Locator (URL)URL用於標識網絡主機的地址。另一方面,另一個不常用的URI是通用資源名字Universal Resource Name (URN)。在我們的例子中,一般使用的是URLs

既然前面的例子使用的URL地址來標識命名空間,我們可以確信這個命名空間是唯一的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章