名稱空間的作用?
為了解決不同領域的XML詞彙的同名衝突和區分辨識。 (參考底下的範例)
注意#:名稱空間只存在邏輯意義,無法真正實現對URI的引用。
名稱空間的宣告:
#放在元素(一般是根元素)的起始標籤內,以類似屬性的形式聲明。
名稱空間的宣告將名稱前綴和URI關聯起來。
名稱空間的作用範圍:
#只在宣告名稱空間的元素以及該元素所包含的元素和屬性內有效。
(注意:預設名稱空間不直接作用於屬性)
宣告名稱空間的元素,稱為包容體(Container)。名稱空間和前綴的關聯關係在包容體的範圍內有效。
名稱空間的兩種宣告方式:
#1、##明確名稱空間宣告:xmlns : 前綴名稱 = “某URI”
例如:##<根元素 xmlns: xg = “http://xugang.cnblogs.com” >
<xg:子元素 attName = “myname” />
2
預設名稱空間宣告:xmlns = “某URI”
它沒有前綴名,所以在包容體內沒有前綴名的XML元素和屬性都屬於預設名稱空間。
例如:<根元素 xmlns = “http://xugang.cnblogs.com” >
<子元素 attName =“myname” />
#注意:盡量只在根元素宣告預設名稱空間。若預設名稱空間宣告在非根元素,則容易被使用者誤解或忽略成沒有名稱空間的元素。所以,非根元素盡量不使用預設名稱空間宣告(建議使用明確名稱空間宣告)。
名稱空間的宣告注意:# * 雙引號內必須是URI ;
* XML區分大小寫,前綴名也不例外; *
前綴名
建議採用英文縮寫,也可以用中文(但不建議用中文); * 盡量避免同名前綴
卻對應不同URI的名稱空間的情況,它將容易誤導使用者; * 盡量在根元素
中宣告所有的名稱空間; * 若屬性所在的元素屬於某明確宣告的名稱空間,一般就不需要為此屬性加上前綴。
(Uniform Resource Identifier):統一格式資源識別碼。
URI 是 和 URN 的超集。
URL(Uniform Resource Locater,統一格式資源定位器):用來標記網路上某資源的位置,就是通常所說的網址。 URN(Uniform Resource Name,统一格式资源名称):表示Internet上某个持久(persistent)的资源,格式相对自由。如:“myURN: IT”表示本示例内部使用的名称。 示例: IT部门使用.xml 建筑部门使用.xml
错误的部门融合.xml
正确的部门融合.xml<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料>
<设备 编号="联想6515b">
<生产商>联想集团</生产商>
<地址>北京市中关村127号</地址>
</设备></资料>
<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
<资料>
<设备 编号="中联F001">
<生产商>中联重科</生产商>
<地址>湖南省长沙市新开铺113号</地址>
</设备>
</资料>
<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料>
<设备 编号="联想6515b" 编号="中联F001">
<设备名>笔记本</设备名>
<生产商>联想集团</生产商>
<地址>北京市中关村127号</地址>
<设备名>起重机</设备名>
<生产商>中联重科</生产商>
<地址>湖南省长沙市新开铺113号</地址>
</设备>
</资料>
<?xml version="1.0" encoding="GB2312" standalone="yes"?>
<资料 xmlns:IT="http://www.lenovo.com" xmlns:建筑="myURN:中联">
<设备 IT:编号="联想6515b" 建筑:编号="中联F001">
<IT:设备名>笔记本</IT:设备名>
<IT:生产商>联想集团</IT:生产商>
<IT:地址>北京市中关村127号</IT:地址>
<建筑:设备名>起重机</建筑:设备名>
<建筑:生产商>中联重科</建筑:生产商>
<建筑:地址>湖南省长沙市新开铺113号</建筑:地址>
</设备>
</资料>
以上是關於XML中的名稱空間的範例程式碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!