【发布时间】:2026-01-19 01:40:01
【问题描述】:
我正在学习 XML 和 Web 服务,但我不知道当我的应用未连接到 Internet 时如何获取 XML 命名空间?
我正在使用一个与 XML 命名空间对应的库,但我不明白它们是如何相关的。
【问题讨论】:
标签: xml web-services xsd xhtml xml-namespaces
我正在学习 XML 和 Web 服务,但我不知道当我的应用未连接到 Internet 时如何获取 XML 命名空间?
我正在使用一个与 XML 命名空间对应的库,但我不明白它们是如何相关的。
【问题讨论】:
标签: xml web-services xsd xhtml xml-namespaces
如果您的 XML 文档必须与可能具有类似名称元素的其他系统交互,则 XML 命名空间仅用于使您的元素保持唯一性。之所以附上 URL,是因为域名是一种全局强制的命名空间机制,只要每个人都遵循使用 url 的约定,就不应该发生冲突。换句话说,如果有人拥有spoon.com 域,那么他们可以合理地确定没有其他人会使用该命名空间,因为它受ICANN 等机构的监管。但是,在spoon.com 组织中,成员必须确保他们之间不会发生冲突。
这可能对你有用:Why are URLs in XML namespaces?
【讨论】:
Namespaces in XML 1.0 Recommendation 不要求命名空间 URI 能够用于检索任何内容。因此,不需要连接到 Internet。命名空间甚至可以命名为 URL 以外的名称,但是 URL 中域名的权威性和唯一性方面非常方便。
将XSD 放在命名空间给定的 URL 的端点通常也很方便。由于这种做法,您可能会担心连接到 Internet,但这里也没有任何内在问题,至少在命名空间本身方面没有问题。如果您出于验证目的而需要访问 XSD,则可以保留一个本地副本,并且仅在您希望它检索本地而不是远程副本时更改提供给 XML 处理器的提示。
有关指示 XML 处理器如何查找 XSD 的方法,尤其是关于命名空间的方法,请参阅 XML Catalogs 或 xsi:schemaLocation and xsi:noNamespaceSchemaLocation。
【讨论】: