xml schema 中 elementFormDefault 和 attributeFormDefault 的含义

转自: http://hi.baidu.com/chevichan/item/a2aa4a1464d731423b176ed4



elementFormDefault 和 attributeFormDefault 都各有 2 个选项: unqualified, qualified. 那么它们分别都代表什么意思呢?默认值是 unqualified.

elementFormDefault=‘unqualified’ 时表示子元素不必使用命名空间前缀, 但这不等于说这些子元素是属于无命名空间, 所有被schema定义的element都应当属于目标命名空间, 这些子元素只是不直接位于目标命名空间, 而是从属于父顶级元素的目标命名空间, 这其实也就是说它们间接属于目标命名空间. 显然, 这种写法使得xml格式上简化了很多.

elementFormDefault=‘qualified’ 时表示子元素必须使用命名空间前缀, 当然, 这些子元素是位于目标命名空间之下.

参考《http://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschema.elementformdefault.aspx》

attributeFormDefault=‘unqualified’ 时表示目标命名空间下的这个属性不要带命名空间前缀.

attributeFormDefault=‘qualified’ 时表示来自目标命名空间下的属性必须要用命名空间前缀修饰.

参考《http://msdn.microsoft.com/en-us/library/system.xml.schema.xmlschema.attributeformdefault.aspx》

有很多人说当使用 unqualified 时是把子元素放入无命名空间, 这显然是一种误导!

你可能感兴趣的:(attribute)