XSD验证失败如何正确引用本地XSD文件解决dt命名空间报错
解决方案
错误原因
你之前的修改存在三个问题:
- 命名空间遗漏了
http://www.前缀,和实际定义的dt命名空间不匹配 - 错误使用
dt:前缀修饰schemaLocation属性,该属性属于XML Schema标准属性,不需要加业务自定义前缀 - schemaLocation的值错误写入了两个文件路径,仅需要填写dt命名空间对应的小体积XSD的路径即可
正确配置方法
方法1:修改XSD import配置(推荐用相对路径,可移植性更高)
首先将小体积的dt命名空间XSD文件命名为dt.xsd,和主XSD(大体积文件)放在同一个目录下,然后将主XSD中对应的import行替换为以下内容:
<xs:import namespace="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt" schemaLocation="dt.xsd"/>
如果需要使用绝对路径,参考写法如下:
<xs:import namespace="http://www.intershop.com/xml/ns/enfinity/6.5/core/impex-dt" schemaLocation="C:\Users\TommyTam\Downloads\Upload To Exponea\Mulesoft\Item Variant Flow Poll\dt.xsd"/>
方法2:Visual Studio全局添加XSD(无需修改文件内容)
如果不想修改XSD文件的内容,可以直接在Visual Studio中添加全局架构引用:
- 打开主XSD文件,点击顶部菜单栏的「XML」→「架构」
- 在弹出的窗口中点击「添加」,选中你本地的dt命名空间对应的XSD文件,确认保存后即可消除验证报错
内容的提问来源于stack exchange,提问作者tommyhmt
相关产品推荐
相关产品推荐

