xml学习总结(四)
命名空间
(1)产生
问题:在不同的约束文档中,有不同好安逸的相同标记名称
解决办法
每个约束模式人当被赋予一个唯一的名称空间,每个名称空间可用一个唯一的URI表示
在XML实例中为来自不同模式文档的元素重甲不同的前缀部分,元素名称前增加的哥各个前缀名称分别代表各个模式文档的名称空间
(2)名称空间的声明
->基本格式xmlns:前缀名=“URI” (默认名称空间格式xmlns="URI")
->在任何元素中声明的名称空间,只对该元素及其嵌套的所有子孙元素有效
->QName是指冒号(:)把前缀与本地部分进行分割的名称,即被限定在了某个名称空间中的名称
(3)属性的名称空间问题
->xml实例文档只需将元素限定于模式文档的名称空间中,而不需要将元素的属性限定在名称空间中
->如果属性名称中有一个前缀部分,该属性将被限定在该前缀所指定的名称空间中,如果属性名称中咩有前缀部分,那么属性就不属于任何名称空间,属性不受默认名称空间的影响
(4)xml内置属性
->内置属性必须以xml:作为前缀,自定义属性不能以xml:作为前缀
->xml:space属性用于设置空格,其值只能是"default""preserve"
->xml:lang代表本地化语言信息"zh-CN"中国大陆"zh-TW"中国台湾
(5)使用名称空间引入XML Schema文档
<书 xmlns ="http://www.it315.org/xmlbook/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.it315.org/xmlbook/schema http://www.it315.org/xmlbook.xsd"> </书>
schemaLocation属性的设置值中包含两个部分,第一个是名称空间的URI,第二部分是该名称空间所标识的URI Schema文件的位置或URI地址,两部分用空格隔开。
(6)使用命名空间引入多个XMLSchema文档
<书 xmlns ="http://www.it315.org/xmlbook/schema" xmlns:demo="http://www.it315.org/xmlbook/schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.it315.org/xmlbook/schema
http://www.it315.org/xmlbook.xsd
http://www.it315.org/demo/schema
http://www.it315.org/demo.xsd"> </书>