加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML命名空间和属性

发布时间:2020-12-16 08:09:28 所属栏目:百科 来源:网络整理
导读:我试图理解命名空间在XML中如何工作。当我有一个像foo:bar的元素时,属性通常不会有命名空间。但有时他们会。是元素的命名空间中的属性,即使已经声明了默认命名空间吗?查看xsd的xhtml似乎属性是模式的一部分,应该在xhtml的命名空间,但他们永远不会以这
我试图理解命名空间在XML中如何工作。当我有一个像foo:bar的元素时,属性通常不会有命名空间。但有时他们会。是元素的命名空间中的属性,即使已经声明了默认命名空间吗?查看xsd的xhtml似乎属性是模式的一部分,应该在xhtml的命名空间,但他们永远不会以这种方式… …
大多数时候,属性不会在任何命名空间。 namespace spec说(强调我):

A default namespace declaration applies to all unprefixed element names within its scope. Default namespace declarations do not apply directly to attribute names; the interpretation of unprefixed attributes is determined by the element on which they appear.

有一个原因,大多数XML词汇使用非命名空间属性:
当你的元素有一个命名空间,那些元素有属性时,就不会有混乱:属性属于你的元素,属于你的命名空间。在属性中添加命名空间前缀只会使一切更繁琐。

那么为什么存在命名空间属性?
因为一些词汇对大多数属性做有用的工作,并且当与其他词汇混合时可以做到这一点。最着名的例子是XLink。

最后,W3C XML Schema有一个太简单的方法(< schema attributeFormDefault =“qualified”>)将属性声明为在命名空间中,迫使您在文档中为它们添加前缀,即使您使用默认命名空间。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读