1前言
命名空间是一种以分布式方式管理名称的机制大大降低了两个独立政党创造出于不同目的使用相同的名称。
XML命名空间有一个命名空间名称(URI)和一组本地名称(NC名称s作为定义于[XML命名空间]). 使用URI可以利用理解力强URI(URI)分配的机制[WebArch第1卷].[XML命名空间]定义组合的语法简写命名空间名称和本地名称:限定名或“QName”。(请注意,使用QNames作为标识符的语言是必需的以提供从QNames到URI的映射。)
定义新本地名称的建议,”身份证件
“,在中命名空间“http://www.w3.org/XML/1998/namespace(http://www.w3.org/XML/1998/namespace)
“(xml:
命名空间)提出了一个关于身份的问题命名空间的。具体而言,它揭示了两个方面:
一种观点认为xml:
命名空间包含xml:空间
,xml:lang
、和xml:基础
(没有其他名字)因为有一个时间点名称空间中具有定义含义的名称。
其他的观点是xml:
命名空间由所有可能的本地名称,并且只有有限的(但灵活的)数量它们是在任意给定的时间点定义的。
俗话说,我们经常提到“添加名称”到名称空间。这里我们更喜欢说“定义名称”或其他许可名字的解释。例如[xml:id]规范定义了xml:
命名空间。类似地,创建用于保存编程语言中所有保留字的名称将授权解释这些QName,而无需明确定义他们每个人。
2命名空间定义
出版[xml:id]作为一个建议,对哪一种观点的问题提供了部分答案对的。添加本地名称的定义“身份证件
“在中xml:
namespace演示了本地名称的数量定义在xml:
命名空间可以扩展。
然而,另一种立场是否是任何声音。这一发现表明了它的立场。
名称空间,最初设计用于为XML元素提供名称和属性被web广泛采用社区。它们现在不仅仅用于元素和属性但对于函数名、标记和标识符目的。
这个xml:
名称空间演示了一些名称空间受益于允许在其中定义其他名称的策略随着时间的推移。这并不排除某些命名空间将受益于禁止此类扩展的策略。根据这些观察结果,我们得出以下良好实践应用:
良好实践
定义命名空间的规范应该明确表示尊重他们的政策更改该命名空间中定义的名称。
对于不可变的名称空间,规范应该描述如何定义名称(或将其移除)以及由谁执行。
如果提供了名称空间文档[WebArch第1卷]建议,命名空间更改策略应该在名称空间文档中声明。
一般来说,网络上的资源可以而且确实会发生变化。在如果没有显式语句,则无法推断名称空间是不可变的。
3参考文献
- 副本请求2119
- 秒。布拉德纳。RFC中用于指示需求级别的关键词.IETF公司。1997年3月。(请参见http://www.ietf.org/rfc/rfc2119.txt。)
- XML命名空间
- Tim Bray、Dave Hollander、Andrew Layman,编辑。XML中的命名空间.万维网联盟,1999年。(参见http://www.w3.org/TR/REC-xml-names/。)
- WebArch第1卷
- 编辑伊恩·雅各布斯和诺曼·沃尔什。万维网架构,第1卷.万维网联盟,2004年。(请参见http://www.w3.org/TR/webarch/。)
- xml:id
- 编辑乔纳森·马什(Jonathan Marsh)、丹尼尔·维拉德(Daniel Veillard)和诺曼·沃尔什(Norman Walsh)。xml:id版本1.0.万维网联盟,2005年。(请参见http://www.w3.org/TR/xml-id/。)