而命名空間的設計,可以避免標籤之間的命名相同造成的衝突讓文件無法正確解析出來。
舉例來說:以下是一份關於描述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解析器會不清楚要如何分辨以及處理該文件。