我想从
更改架构命名空间xmlns:xs="http://www.w3.org/2001/XMLSchema"
到
xmlns:xs="http://www.w3.org/2007/XMLSchema-versioning"
因为它支持"覆盖"。但它显示错误:
W3C XML Schema的根元素应为
<schema>
,其名称空间应为&#39; http://www.w3.org/2001/XMLSchema&#39;
答案 0 :(得分:1)
我非常确定BizTalk不支持XML 1.1,xs:override
元素或以这种方式进行架构版本控制。无论如何都无法解析使用哪个模式,因为两个模式都具有相同的targetNamespace
和根节点,并且需要这些模式才能正确执行模式解析。您应该只使用新的targetNamespace
创建新架构,例如http://existing_target_ns/v2
。
一般来说,BizTalk中的版本控制有点棘手并且可能会导致很多问题 - 绑定会静态编码程序集的版本号并且必须更新,服务器运行时将选择最近部署的程序集,而不管版本如何。我已经看到这导致了许多问题而不是它可以解决的问题,并建议你阅读MSDN article。
答案 1 :(得分:0)
您是否从以下位置更改了XML声明:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
到
<?xml version="1.1" encoding="UTF-8" standalone="no" ?>
此处描述了XML 1.1中的新功能:https://www.w3.org/TR/xmlschema-guide2versioning/
此外,有些浏览器似乎仍然没有对XML 1.1版本的本机支持,这将在此处讨论:http://www.herongyang.com/XML/XML-1-1-Not-Supported-in-Web-Browser.html