XML Note

本網頁以打造無障礙閱讀為目標,可以用任何瀏覽器來觀看本網頁


背景

簡介

撰寫XML的工具

一般而言編寫XML文件可選擇兩種類型的編輯器,但須注意存檔的編碼要與宣告的編碼相同喔

XML文件的結構

宣告(Prolog)

<?xml ...................... ?>作為XML文件宣告的開始標記與結束標記,需注意標記中不可有空白

文件類別宣告(Document Type Declaration,DTD)

文件內容(Document Instance Set)

命名空間(NameSpace)

Well-Formed XML

所謂Well-Formed XML指的是"格式良好"的XML。

格式良好指的是所有的分隔符號 (delimiter) 都正確,而且所有的結束標記, 都相對於開始標記。任何一個 XML 處理系統假如檢查出文件不是 "格式良好",必須要告知使用者,而系統可能停止繼續處理。 (HTML 的瀏覽器通常都會容忍格式上的錯誤; 但 XML 系統就會產生錯誤訊息。) 首先先看一個簡單的XML範例

<?xml version="1.0" encoding="big5" ?>               <!-- 此為宣告 -->
<catalog>                                                           <!-- 此為root標籤的開始 -->
    <product>
        <pname>HP printer</pname>                        <!-- 標籤必須成對出現 -->
        <price currency="NT">12000</price>
        <mark />                                                     <!-- 原來的寫法為 <mark></mark> -->
    </product>
    <hr />
    <product>
        <pname>IBM notebook</pname>
        <price currency="NT">4900</price>                      <!-- 屬性必須使用單引號或雙引號刮起來 -->
        <mark>10Percent off</mark>
    </product>
</catalog>                                                             <!-- 此為root標籤的結束 -->

請參照下列條件,若都能符合,大體上就是一個well-formed的XML
1.如果有XML文件宣告(prolog),必須位於XML文件的第一列
<?xml version="1.0" encoding="big5" ?> 就宣告了XML的版本為1.0,字集為Big5
2.XML文件只能有一個根標籤 (root)
整個文件在<catalog> 與 </catalog> 之間,被視為一個樹狀結構
3.開始與結束的標籤必須成對出現
如<catalog></catalog>或<product></product>或<pname></panme>或<mark></mark>等
4.非成對標籤 或 標籤中無內容,則可用「/」 符號
例如<hr />或<mark></mark>可以用<mark />表示
5.標籤必須巢狀排列 ,而不可以重疊
不可有 <A><B></A></B> 這種重疊的情況,必須是<A><B></B></A>或<B><A></A></B>的情況
6.英文大小寫有別
<A> 標籤不可與 </a>標籤配對
7.屬性必須被「'」或「''」 包括起來, 且使用的quotes也必須成對
如<price currency="NT"> ....</price> ,其中的currency="NT" 就是屬性
8.同一標籤不可有相同的屬性
如 <price currency="NT" currency='NT'> ....</price>就重複了相同的屬性2次,
9.特殊字元的使用必須採用所謂的實體引用(Entity Reference)
特殊字元 實體引用
&
&amp;
>
&gt;
<
&lt;
"
&quot;
'
&apos;
10.使用正確的物件名稱
XML的物件包括了標籤(Tag),元素(Element),屬性(Attribute),資料型態(Datatype),群組(Group),實體(Entity).....等 ,其命名就如同一般程式語言一樣有其規則必須符合,如必須是以文字、底線、或冒號(建議還是別用,因會被誤判為namespace)開頭的名稱,名稱中不可有空白...等。

可用的剖析器(parser)

Validating XML

可用的驗證器(validator)

參考書目

網路資源

主 網 站:http://peterju.notlong.com (目前轉址至 http://irw.ncut.edu.tw/peterju/) Sitetag Logo

Level Triple-A conformance icon | [歡迎使用任何作業系統、瀏覽器觀看!] | Valid XHTML 1.0 Transitional | Valid CSS! | [Valid RSS] | [創意公眾許可証]
This work is licensed under a Creative Commons License