命名空间

XML 中的元素和属性名称称为 QNames(限定名称)。

QName 由以下内容组成:

  • 命名空间(URI)
  • 前缀(NCName,NC,因为它不包含冒号)
  • 本地名称(NCName)

只有命名空间和本地名称与比较两个 QName 相关。前缀只是命名空间的代理。

命名空间和前缀是可选的,但如果前缀存在,则命名空间始终存在(这在语法级别得到保证,因此不能做错)。

QName 的词汇表示是 prefix:local-name。命名空间使用特殊的 xmlns:... 属性单独绑定(提醒:以 XML 开头的属性以 XML 格式保留)。

如果前缀为空,则在 QName 的词法表示中不使用冒号,该表示仅包含 local-name。具有空前缀的 QNames 要么没有命名空间(如果没有默认命名空间在范围内),要么位于默认命名空间中。