【发布时间】:2015-08-10 09:34:55
【问题描述】:
在 XML 文档中包含(声明)像“http://www.w3.org/2001/XMLSchema-instance”这样的命名空间是否会产生副作用或改变其解释,即使声明的命名空间前缀没有在任何地方使用?
我在网上看到很多例子——包括各种官方规范——以及客户端传输的数据,其中一些看似多余的命名空间声明比比皆是,好像是为了抵御邪恶。它们在实际传输数据中的出现可能归因于粗心/草率的编码,但对于已发布规范中的示例而言,情况并非如此。
一个有点综合的例子,简化为最基本的:
<?xml version="1.0"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Body>
<example xmlns="acme-URI">
<foo xmlns="">meow<foo>
</example>
</Body>
</Envelope>
如果重要的话,我最关心的是 SOAP 1.1 消息。
【问题讨论】:
标签: xml soap xml-parsing xml-namespaces