Skip to Content
XML3. 命名空间(Namespaces)

3. 命名空间(Namespaces)

  1. 元素名称必须(MUST)在命名空间中,除非是在扩展不使用命名空间的已有文档类型。  应该(SHOULD)使用默认命名空间。  [理由: 无命名空间的文档已经过时;每组名称都应在某个命名空间中。  使用默认命名空间可以提高可读性。]
    \
  2. 属性名称不应该(SHOULD NOT)在命名空间中,除非它们来自外部文档类型或旨在用于外部文档类型中。  [理由: 在命名空间中的属性名称必须始终有前缀,这不仅输入麻烦而且难以阅读。]
    \
  3. 命名空间名称是 HTTP URI。  命名空间名称应该(SHOULD)采用 https://example.com/*whatever*/*year * 的形式,其中 whatever 是基于文档类型名称的唯一值,year 是命名空间创建的年份。  在 year 之前可能有额外的 URI 路径部分。  [理由: 现有惯例。  提供年份允许代码名称的可能回收。]
    \
  4. 除非特定元素或属性的语义发生了极度不兼容的变化,否则禁止(MUST NOT)更改命名空间。  [理由: 更改命名空间需要更改所有客户端代码。]
    \
  5. 命名空间前缀应该(SHOULD)简短(但不能短到可能与其他项目冲突)。  禁止(MUST NOT)使用单字母前缀。前缀应该(SHOULD)只包含小写 ASCII 字母。  [理由: 便于输入且避免编码兼容性问题。]

\

Last updated on