XML命名空间和属性

前端之家收集整理的这篇文章主要介绍了XML命名空间和属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图理解命名空间在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”>)将属性声明为在命名空间中,迫使您在文档中为它们添加前缀,即使您使用默认命名空间。

原文链接:https://www.f2er.com/xml/293704.html

猜你在找的XML相关文章