例如,
<svg xmlns="http://www.w3.org/2000/svg">
<!-- more tags here -->
</svg>
我们可以使用更短的东西,例如svg2000,svg1.1或w3svg2000,而不是长的网址“http://www.w3.org/2000/svg”,它太长而无法输入和错字?
根据this answer,
'这些网址不用于连接,只是定义元素的含义'
为什么W3C和主流浏览器公司都坚持使用繁琐的东西?
我们可以使用更短的东西,比如svg2000,svg1.1或w3svg2000,而不是长的网址“http://www.w3.org/2000/svg”,它太长了,无法输入并且容易出错?
这取决于你的要求。如果您正在设计自己的格式,则可以选择所需的任何名称空间。例如,pre-XMPP Jabber使用了jabber:client
和jabber:server
命名空间(但是,随着Jabber进入XMPP,它转换为像urn:ietf:params:xml:ns:xmpp-tls
这样的URN)。
为什么W3C和主流浏览器公司都坚持使用繁琐的东西?
如果要实现现有标准(如SVG),则必须遵循其规则,并且XML命名空间是SVG标准的一部分。如果使用不同的命名空间,则您的文档不再是SVG文档。
BTW:
长网址“http://www.w3.org/2000/svg”,这种类型太长,无法输入并且容易出错
你不应该输入它,当然不会超过一次:)
简而言之,请参阅Michael Kay's answer to a similar question。对于长版本阅读...
XML命名空间规范本身does not mandate the use of such long URLs:
命名空间名称,为了达到预期目的,应该具有唯一性和持久性的特征。它不是直接用于检索模式(如果存在)的目标。统一资源名称[RFC2141]是在设计时考虑到这些目标的语法示例。然而,应该注意,可以以实现这些相同目标的方式管理普通URL。
...所以包括SVG在内的W3C规范可能使用了更短的名称,比如urn:w3c:svg
。
但是,如Architecture of the World Wide Web所述,使用URL作为命名空间名称允许(同时仍保证唯一性)发布包含命名空间信息的“命名空间文档”。加倍作为URL的最短名称将是http://w3.org/svg
(指向“命名空间文档”的命名空间URL的值在今天的世界中似乎很低,没有人可以想象没有谷歌这样的搜索引擎的生活,但你可以尝试理解90年代不依赖于搜索引擎的人网络的架构。)
有many working groups at W3C(大多数工作相对模糊的主题),所以他们提出了形式a policy for allocating namespace URLs的http://www.w3.org/YYYY/MM/ssss
。该政策包括一个理由:
后来政策was amended允许没有年份的URL(http://www.w3.org/ns/ssss
),但对于SVG来说为时已晚。
作为一个有趣的历史,XML规范states的“起源和目标”,“XML标记中的Terseness具有最低限度的重要性” - which is said to be a result of“SGML的复杂性和难度因使用最小化而大大增加。 “但最终,尝试将Web切换到XML failed并且到目前为止,标准允许在HTML中使用SVG而不指定名称空间。