例如,WPF名称空间为:xmlns =“http://schemas.microsoft.com/winfx/2006/xaml/presentation”
如果我定义自己的命名空间,它是否也应该以http开头?是不是误导?
答案 0 :(得分:6)
命名空间的值没有任何意义,除了该值是唯一的以避免名称缩减。这就是为什么你看到许多公司将自己网站的URL作为命名空间。 URL具有相同的目的,是唯一的。多年来,使用URL只是一种好习惯,因为如果每个人都这样做,就不会发生任何名称缩减:)
答案 1 :(得分:4)
W3C Document defining XML Namespaces说(quoting):
定义:XML命名空间是 由URI引用标识 [RFC3986]
RFC 3986说(引用):
<强> 1.1.1。通用语法
每个URI都以方案名称开头, 如第3.1节所定义的那样 是指的规格 在该中分配标识符 方案
所以我猜使用http://是最接近标准的 - 因为HTTP是网上最常用的方案。
此外,由于域名只能有一个所有者,因此它允许每个公司在其名称空间中使用它的URL。
答案 2 :(得分:4)
另一种常用方法是使用Uniform Resource Name,其格式由RFC2141定义,而不是使用以http://
开头的网址。
这种名称空间标识符例如是由ODF使用(OpenDocument格式):
urn:oasis:names:tc:opendocument:xmlns:office:1.0
urn:oasis:names:tc:opendocument:xmlns:style:1.0
urn:oasis:names:tc:opendocument:xmlns:text:1.0
答案 3 :(得分:2)
这是一种创建可读全局唯一标识符的可靠方法。它可能是也可能不是包含更多信息的有效URL。
答案 4 :(得分:2)
来自W3Schools的this article:
“解析器不使用命名空间URI来查找信息。目的是为命名空间提供唯一的名称。但是,公司通常使用命名空间作为指向包含命名空间信息的网页的指针。尝试去到http://www.w3.org/TR/html4/。“