標籤:xml 命名空間 編碼
XML聲明XML聲明放在XML檔案的第一行,包含XML的版本號碼和使用的編碼。XML聲明用於指導XML解析器解析該XML檔案。如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
上面的例子定義 XML 的版本 (1.0) 和所使用的編碼 (ISO-8859-1 = Latin-1/西歐字元集)。
XML版本號碼:解析器以哪一個XML版本規範解析檔案。
XML編碼:解析器以哪種檔案編碼格式解析檔案。
XML編碼定義的約定:
如果XML檔案中只有標準的ASCII編碼,則無需在XML聲明中顯示定義編碼格式。
如果XML檔案是Unicode編碼,並且檔案有BOM(Byte Order Mark),則可以通過BOM確定採用的編碼方式,也無需在XML聲明中顯示定義編碼格式。
如果XML檔案是Unicode編碼,但沒有BOM,則必須在XML聲明中顯示定義編碼格式。
如果XML檔案是其它編碼格式,則必須在XML聲明中顯示定義編碼格式。
XML命名空間XML命名空間採用xmlns屬性定義在XML元素中。如下:
<f:table xmlns:f="http://www.w3school.com.cn/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length></f:table>
命名空間的作用:可以理解為java的包(package),命名空間和元素名稱一起組成了XML元素的全域唯一的限定名(qualified name),可以避免解析器解析不同xml檔案中的元素名稱衝突。
命名空間的定義:命名空間定義由兩部分組成,首碼和空間名稱。上面的例子中,f是首碼,http://www.w3school.com.cn/furniture是空間名稱。
空間名稱的作用是賦予命名空間一個惟一的名稱空間名稱的作用是賦予命名空間一個惟一的名稱,通常採用一個URL。該URL不一定要指向一個實際存在的網頁,但很多公司常常會將該URL指向一個包含關於命名空間資訊的網頁。
由於空間名稱通常比較長,採用簡化的首碼放在元素名前,以避免xml文檔過於冗長,難以閱讀。
命名空間的作用範圍:作用範圍為命名空間定義所在的元素的所有內容,對應到上面的例子,命名空間xmlns:f="http://www.w3school.com.cn/furniture"的作用範圍為<table>和</table>之間。
預設命名空間:如果定義時不定義首碼,則命名空間定義範圍內所有元素採用該命名空間作為預設命名空間。如:
<table xmlns="http://www.w3school.com.cn/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length></table>
這個例子中,table,name,width,length元素的命名空間都是http://www.w3school.com.cn/furniture。
XML相關知識索引
參考資料
http://www.oracle.com/technetwork/cn/articles/srivastava-namespaces-098626-zhs.html
http://www.w3school.com.cn/
XML學習筆記