当前位置:  开发笔记 > 编程语言 > 正文

在命名空间URI中使用斜杠的重要性是什么?

如何解决《在命名空间URI中使用斜杠的重要性是什么?》经验,为你挑选了2个好方法。

我一直在研究SOAP和WSDL,以便为实现Web服务做准备.我遇到的一件令我困惑的事情是,我看过的一些URI使用了一个尾部斜杠,例如:

http://www.w3.org/some-namespace/

而我研究的其他例子省略了这个尾随斜线.我真的有几个问题:

尾随斜线有什么意义?

URI,http://www.w3.org/some-namespace与http://www.w3.org/some-namespace/相同吗?

如果它们不相同,我如何决定何时保证一种形式?

我已经阅读了w3c关于URI的指导原则,这些指示似乎表明只有在URI字符串的区分大小写比较被认为相等时才应认为该URI是相等的.这种解释是否正确?

Dimitre Nova.. 10

是的,关于你读过的URI的w3c指南是正确的.

两个没有equal-strings-uri的名称空间是不同的名称空间.即使资本化和空白也很重要.

命名空间-uri并不意味着发出请求它应该产生Web响应.因此,任何以"/"结尾应该或不应该以"/"结尾的理由都没有太大意义.

事实上,namespace-uri甚至可能不满足URI的语法规则,它仍然可以用于定义命名空间.使用命名空间非常有用,例如,让我们说:

"\/^%$#sdhfgds"

只要它是独一无二的(请注意,我不建议这样使用:)).现有的XML处理器(例如解析器,XPath或XSLT处理器)在遇到此类命名空间时不会引发任何错误.



1> Dimitre Nova..:

是的,关于你读过的URI的w3c指南是正确的.

两个没有equal-strings-uri的名称空间是不同的名称空间.即使资本化和空白也很重要.

命名空间-uri并不意味着发出请求它应该产生Web响应.因此,任何以"/"结尾应该或不应该以"/"结尾的理由都没有太大意义.

事实上,namespace-uri甚至可能不满足URI的语法规则,它仍然可以用于定义命名空间.使用命名空间非常有用,例如,让我们说:

"\/^%$#sdhfgds"

只要它是独一无二的(请注意,我不建议这样使用:)).现有的XML处理器(例如解析器,XPath或XSLT处理器)在遇到此类命名空间时不会引发任何错误.



2> kdgregory..:

命名空间URI简称为唯一标识符(这里是比较规则的链接).使用URI(相对于"foo")可以追溯到(我相信)在XML DOCTYPE中使用URI.

也就是说,我认为这种URI的"可检索性"存在混淆.该XML规格要求的DOCTYPE系统标识符可以用来检索文档的DTD(我链接到带注释的XML规格,而不是W3C版本,因为我相信,蒂姆·布雷的评论是非常有用的).

虽然其他规范(例如,XML模式)不需要这种行为,但我认为这是一个有用的习惯 - 特别是在Schema目标命名空间的情况下.首先,它使您的架构的使用者能够轻松地找到正确的定义.另一方面,如果您有权将文档放在公共URL上,那么您还可以确保URI是唯一的.

最后:统一资源标识符(URI)是统一资源定位符(URL)的超集.您还可以拥有统一资源名称(URN),我相信(但没有规范方便)有第三种形式的标识符.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有