天天看点

关于xml命名空间(整理中。。。)

对于元素而言,前缀》xmlns属性》缺省命名空间

xsd架构中,全局元素或者类型将始终属于目标命名空间;

xsd架构相当于类,使用该架构的xml文件相当于对象实例;

xsd架构中的targetNamespace 属性指定命名空间的名称;

xsd架构的schema元素的直接子集都是全局的(可能是simpleType,complexType,element,attribute 等)elementFormDefault="unqualified" 局部元素属于无名命名空间 (可在xml相应元素的标记中限定xmlns="")

elementFormDefault="qualified"  局部元素属于目标命名空间

以上二者用来确定架构中定义的元素隶属于哪个命名空间(无名 或者 目标)

defaultNamespace   父节点的xmlns属性的值(和父节点本身的命名空间有区别),没有指定前缀的元素来自缺省命名空间;缺省命名空间适用于声明它的元素及其子孙元素中所有没有前缀的元素。注意缺省命名空间不直接适用于属性。 没有prefix的attribute不属于任何命名空间(包括缺省命名空间)

xmlns="a"     声明缺省命名空间为a

xmlns=""       声明缺省命名空间为空字符串,在声明范围内效果跟没有缺省命名空间相同

xmlns:xs="http://www.w3.org/2001/XMLSchema" 声明命名空间xs,xs由http://www.w3.org/2001/XMLSchema定义

schemaLocation:每一对中的第一个 URI 引用是命名空间名,第二个则是描述命名空间的架构的位置