限定名

合法名（），又譯限定名，是XML命名空间引入的概念，用来作为URI引用。 其名稱來自於（意为合法的名字）定义了元素和属性的合法的标识符。合法名通常在XML文档中用作特定元素或属性的引用。

合法名原称限定名，因与XML命名空间中的表述有冲突，并且qualified译为合法也是合理的，因此对其进行了编辑。

动机 
由于URI引用可能会很长并且可能包含XML元素/属性命名中禁止的字符，因此，需要建立命名空间缩写到URI之间的映射，这样可以在XML元素/属性名中使用命名空间的缩写，这样就可以更加方便地书写XML文档。这种使用命名空间缩写的方法来给XML元素/属性命名的方式，即为“合法名”命名（参见示例）。

形式化定义 
万维网联盟给出的合法名的形式化定义如下：
  QName ::= PrefixedName | UnprefixedName
  
  PrefixedName   ::= Prefix ':' LocalPart
  UnprefixedName ::= LocalPart

其中Prefix（前缀）是名字空间的一个符号，而LocalPart是限定名的本地部分。本地部分可以是属性名或元素名。

维基百科“XML名字空间”词条,将合法名具体分为如下两种：
XML文档中的元素名和属性名可以使用限定名或非限定名，限定名由命名空间的前缀和局部名组合而成，例如"xhtml:hr"。非限定名只有局部名，没有前缀。非限定名被认为属于缺省命名空间，如果缺省命名空间没有定义，则属于无命名空间。
限定名即对应上例中的PrefixedName。非限定名即对应上例中的UnprefixedName。

示例 

  <?xml version='1.0'?>
  <doc xmlns:x="http://example.com/ns/foo">
    <x:p/>
  </doc>

在第二行中，前缀“x”被声明与URI"http://example.com/ns/foo"相关联。这个前缀后面可用作名字空间的缩写。后面的标签“x:p”是一个限定名，“x”是命名空间引用，“p”是本地部分。而标签“doc”也是一个非限定名，仅包含本地部分。它们都属于合法名。

参见 
 CURIE:紧凑的URI
 全限定名

参考文献