命名空间是使用 xmlns: 属性在元素上声明的,而且此属性的值就是标识该命名空间的 URI。 命名空间声明的语法是 xmlns:<name>=<"uri">,,其中 <name> 是命名空间前缀的名称,<"uri"> 是说明命名空间 URI 的字符串。 一旦声明后,前缀就可以用来限定 XML 文档中的元素和属性并将它们与命名空间 URI 关联。 因为命名空间前缀在整个文档中使用,所以它的长度应较短。
下例定义了两个 BOOK 元素。 这两个 BOOK 元素不完全相同,因为每个元素分别与不同的命名空间关联。 第一个 BOOK 元素由命名空间前缀 mybook 限定,而第二个 BOOK 元素由前缀 bb 限定。 通过对每个 BOOK 元素使用命名空间声明,每个命名空间前缀都与不同的命名空间 URI 关联。
<mybook:BOOK xmlns:mybook="https://www.contoso.com/books.dtd">
<bb:BOOK xmlns:bb="urn:blueyonderairlines">
若要表明元素是特定命名空间的一部分,请事先在前面添加命名空间前缀,从而使其成为一个完全限定的元素名称。 例如,如果文档中存在 Publisher 元素,并且已经为该元素声明了命名空间,则 Publisher 元素需要用冒号将命名空间别名添加到该元素前面。 如果 Publisher 元素属于 mybook 命名空间,则将其声明为 <mybook:Publisher>。 因此,Publisher 元素此时是完全限定的。