SVG——新一代Web设计及互动媒体的革新
首页 SVG入门 XML教程 W3C官方XML命名空间介绍中文版 - 1 动机和摘要

W3C官方XML命名空间介绍中文版 - 1 动机和摘要

文章首页
W3C官方XML命名空间介绍中文版
1 动机和摘要
2 声明命名空间
3 XML的合法名
4 使用合法名
5 命名空间在元素和属性中的运用
6 文件的一致
附录
  让我们设想一个可扩展标注语言(XML)的应用:一个 XML 文件可以包含许多元素和属性(这里亦被称为"标注词汇"),这些元素和属性由多个软件模块定义并使用。这里的一个动机就是模块化,假如有一种这样标注词汇, 既好理解又有可供它使用的软件,那么重复使用这种标注就胜于再创建一个。

  像这样包含着多重标注词汇的文件,看上去会造成识别上的问题和冲突。软件模块是设计用于处理这些标签(tags)及属性的需要能够识别这些标签(tags)及属性, 即便在碰到那些本来为其它软件包设计的标注使用相同元素类型或属性名所产生的冲突时也要如此。

  基於这些考虑,文件结构中应含有通用名,它的界限延伸到所包含文件范围之外。本文将描述一种实现这点的机制,XML 命名空间。

  [定义:一个XML 命名空间是一个命名的汇集,它由 URI 引用[RFC2396]确定,在 XML 文件中做为元素类型和属性名使用]。XML 版本拥有内在结构,而且,从数学上来说不是一个集合,因此, XML 命名空间有别于传统上在计算学科中使用的命名空间。这些将在A XML命名空间的内部结构中讨论。

  [定义:假如每个字符都确切相同的话,确定命名空间的 URI 引用可被认为相同。]注意在这一意义上不相同的引用也可能在功能上等同。比如,只存在大小写上不同的 URI 引用,或者有执行不同基准 URIs 的外部实体的 URI 引用。

  来自于命名空间的命名可做为合法名 QName 出现,该合法名包含一个把命名分为一个命名空间前缀和一个局域部分的冒号。与 URI 引用成映象的前缀选择了命名空间。统一管理的命名空间和文件自己的命名空间的联合生成了一个通用的唯一的标志符。对前缀范围和缺省也提供相应的机制。

  URI 引用可包含一些在命名中所不允许的字符,所以不能直接作为命名空间前缀来使用。因此,命名空间前缀提供了一个引用代理服务。下面将描述的基於属性的语法用来声明命名空间前缀和 URI 引用的关系,支持这种命名空间设计的软件必须识别并按这些声明和前缀行动。
1.1 关于表示法和使用上的一点注意事项

  需要注意的是,在本规格说明的产生式中出现的一些非终止符 (nonterminals)不是定义在这里而是在 XML 说明书里[XML]。假如这里定义的非终止符与 XML 说明书中定义的非终止符名字相同,此处的产生式在所有的大小写下与在XML 说明书中相应的匹配的字符串的子集相匹配。

  在本规格说明的产生式,NSC 表示“命名空间约束”,是一条所有遵从本规格说明文档必须服从的规则。

  注意除 w3.org 之外,所有在例子中使用的域名都是随机选出的并不能认为这些域名有任何重要性。