在BizTalk中更改XSD根命名空间

时间:2016-03-14 07:10:56

标签: xml xsd schema biztalk

我想从

更改架构命名空间
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;

2 个答案:

答案 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