跳到主要内容

5. URN 命名空间

URN namespace 是遵守三项约束的名称集合: 每个名称 (1) 唯一, (2) 以一致方式分配, 并且 (3) 按照共同定义分配.

  1. 唯一性约束: URN namespace 内的名称绝不会分配给多个资源, 也绝不会重新分配给不同资源. 即使该名称本身已被弃用或变为 obsolete, 这一点仍然成立.

  2. 一致分配约束: URN namespace 内的名称由某个组织分配, 或按照始终遵循的过程或算法创建.

  3. 共同定义约束: 对 URN namespace 内名称的语法以及分配或创建这些名称的过程有清晰定义.

URN namespace 由特定 NID 标识, 以确保 URN 的全局唯一性, 并且可选地提供关于该 URN namespace 内所分配 URN 结构的提示.

由于冒号字符 (":") 用于分隔 "urn" 与 NID, 以及分隔 NID 与 NSS, 人们很容易认为整个 URN 都由冒号字符构成结构. 然而, 除非特定 NID specification 另有规定, 否则不存在隐含结构.

URN namespace 分为两类: formal 和 informal. 它们按预期服务级别, 定义 URN namespace 所需信息以及注册过程进行区分.