Prelimanary
- XML 允許創作者定義自己的標籤和自己的
文檔結構
。 - XML 被設計爲具有自我描述性。(eg. 郵件標籤擁有標題以及留言,同時包含了發送者和接受者的信息)
- 合法的 XML 文檔是“形式良好”的 XML 文檔,同樣遵守文檔類型定義 (DTD) 的語法規則
- 標籤的功能性意義依賴於應用程序的特性
- XML和HTML的區別:
- XML 用於傳輸數據,而 HTML 用於格式化並顯示數據.
- 在 HTML 中,屬性用起來很便利,但是在 XML 中,您應該儘量避免使用屬性,
請儘量使用元素
來描述數據。而僅僅使用屬性
來提供與數據無關的信息。下面的例子中,ID 僅僅是一個標識符,用於標識不同的便籤
。它並不是便籤數據
的組成部分。
EG. <note id="501">
- XML 是獨立於軟件和硬件的信息傳輸工具。也就是說,數據能夠存儲在獨立的 XML 文件中。這樣你就可以專注於使用 HTML 進行佈局和顯示,並確保修改XML底層數據時候,不再需要對 HTML 進行任何的改變
- 之前升級到新的系統(硬件或軟件平臺),必須轉換大量的數據,不兼容的數據經常會丟失。
- 如果你把字符 “<” 放在 XML 元素中,會發生錯誤,這是因爲解析器會把它當作新元素的開始。
- 避免 “:” 字符。冒號會被轉換爲命名空間來使用(XML 命名空間提供避免元素命名衝突的方法)。通過使用前綴,我們創建了兩種不同類型的 元素。
EG. <f:table></f:table>
namespace(stand for ns)有啥用處
定義
XML Namespace is a mechanism to avoid name conflicts
by differentiating elements or attributes within an XML document that may have identical names
, but different definitions.
MY:XML命令空間是在XML文檔中,通過區分有相同名字
,卻是不同定義的
元素OR 屬性 來防止
名字衝突的機制
谷歌翻譯:XML命名空間是一種通過區分XML文檔中可能具有相同名稱但定義不同的元素或屬性來避免名稱衝突的機制。
<list:employeeList xmlns:list="urn:corp:list"
xmlns:emp="urn:corp:emp"
xmlns:sec="urn:corp:sec">
<list:personList>
<emp:empID>E0000001</emp:empID>
<sec:name>Sales</sec:name> <!-- 部門名-->
<emp:name>John Smith</emp:name> <!-- 員工名-->
</list:personList>
<list:personList>
<emp:empID>E0000002</emp:empID>
<sec:name>Development</sec:name>
<emp:name>Ichiro Tanaka</emp:name>
</list:personList>
</list:employeeList>
NS的結構
-
Default NS-----默認NS結構
-
複雜點兒的NS結構
-
Namespace Declaration Scope------NS的定義域
If the element and/ or attribute belong to a namespace, a colon(":")
is placed between the namespace prefix and the element name/ attribute name.