顯示具有 [電腦][程式設計]XML 標籤的文章。 顯示所有文章
顯示具有 [電腦][程式設計]XML 標籤的文章。 顯示所有文章

2013年2月12日 星期二

XML命名空間(Name Space)

關於Name Space有人稱作命名空間或者名稱空間,對於沒接觸過這個字的人比較陌生,其實「命名空間(Name Space)」簡單來說就是一個專門存放命名規則的空間。以XML語言來說,就是存放了關於XML標籤及屬性命名的定義,這樣負責文件解析的程式才知道如何解析該文件。

而命名空間的設計,可以避免標籤之間的命名相同造成的衝突讓文件無法正確解析出來。
舉例來說:以下是一份關於描述HTML格式的XML文件:
<table>
  <tr>
    <td>Name</td>
    <td>Sex</td>
    <td>Age</td>
  </tr>
</table>
簡單來說就是在螢幕上顯示三個有Name、Sex以及Age欄位的表格,為何會顯示出表格而不是只有輸出類似程式碼的文字,也是由於我們使用的XML文件解析器(也就是網頁瀏覽器)的設計會根據文件的命名空間判定此文件為HTML格式,將其輸出為表格的樣式。

假設我們自己定義了一個XML文件:
<table>
   <name>Ryan</name>
   <sex>Male</sex>
   <age>30</age>
</table>
以上的文件是在描述說我有一張表格,而裡面有一些個人的基本資料。

但是如果我將自行定義的這些程式片段加入以上的文件中,便會有所謂的命名衝突的問題,因為兩個程式片段中都包含了<table>這個元素,所以XML解析器會不清楚要如何分辨以及處理該文件。