我一直在研究 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 视为相等。这种解释正确吗?
最佳答案
是的,您阅读的有关 URI 的 w3c 指南是正确的。
字符串 uri 不相等的两个命名空间是不同的命名空间。甚至大写和空格也很重要。
namespace-uri 并不意味着向它发出请求应该产生 web 响应。因此,任何推理是否应该以“/”结尾都没有太大意义。
事实上,命名空间 URI 甚至可能不满足 URI 的语法规则,但它仍将用于定义命名空间。使用 namespace 非常有用,例如:
"\/^%$#sdhfgds"
只要它是唯一的(请注意,我绝不推荐这样使用:))。现有的 XML 处理器(例如解析器、XPath 或 XSLT 处理器)在遇到此类命名空间时不会引发任何错误。
关于xml - namespace URI 中尾部斜线的意义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/430990/