具有外部命名空间的 XML 的接收端是否获取命名空间?

Does the recieving end of an XML with an external namespace fetch the namespace?

如标题所说,我想知道例如我是否发送一个端点一些 XML 并且命名空间为:'http://www.external.com/customNS',接收端是否会获取该命名空间?我认为逻辑上答案是肯定的(除非有规则阻止从外部来源获取)但我需要验证这一点。

问题 2:以防万一第一个问题的答案是肯定的,我问的原因是我在工作中有一个处理 Onvif 的任务,它使用 XML 向 IP 摄像机发送命令,并且当 onvif XML 命名空间服务器出现故障时 (Dec/28),一些请求开始失败,但我需要确保这是原因而不是错误的请求,所以你认为相机实际上有命名空间 pre-loaded,并且绝对不进行外部提取,或者他们是否至少在第一次收到具有特定名称空间的请求时才提取它们?我尝试创建一个服务器,并将其作为命名空间发送到相机,但我没有收到任何请求,但这可能只是意味着相机拒绝了非 onvif 服务器的请求。

我发送到相机的示例请求(没有 header 和页脚):

<GetServiceCapabilities xmlns="http://www.onvif.org/ver20/ptz/wsdl" />

would the receiving end fetch that namespace?

没有

命名空间是字符串。他们的人生目标就是在文档中独树一帜,仅此而已。

可以将 URL 用作名称空间,然后设置一个 Web 服务器以在 URL 处提供更多信息,这是一个好处。对此没有要求,对于在这样的 URL 处必须有什么样的数据没有技术定义,并且 XML 解析器不需要它来完成它的工作。

可能还有其他东西(XML 模式、外部 DTD,也许 XLink/XInclude)可能会在解析或处理文档期间触发请求,但命名空间 URI 肯定不会。