如何在另一个XSD中导入XSD

我试图将xsd导入另一个xsd。 我看到一些问题需要导入。 我无法理解网络中提供的解决方案。 下面是我的XSD。

我有HEADER.xsd。 所有其他xsd都很常见。

HEADER.XSD

          

MESSAGE1.XSD

                         

在这里我试图导入被调用的元素,因为它对于所有xsd的[MESSAGE1.XSD MESSAGE2.XSD等]是常见的。

exception说:不是有效的:src-resolve.4.2:解析组件’xs:reqHeader’时出错。 检测到’xs:reqHeader’位于命名空间’ http://www.w3.org/2001/XMLSchema ‘中,但此命名空间中的组件无法从架构文档’file:/ D:/ Projects / workspace /引用消息/资源/ XSD / MESSAGE1.xsd”。 如果这是不正确的命名空间,则可能需要更改’xs:reqHeader’的前缀。 如果这是正确的命名空间,则应将相应的“import”标记添加到’file:/ D:/Projects/workspace/Message/resources/xsd/MESSAGE1.XSD’。

我的项目结构是:

/ src目录/ COM

/ lib目录

/resources/xsd/MESSAGE1.XSD

请有人帮我解决。

答对了! 在与XSD进行了很多战斗后,我发现了一个无错误的方法:

这是代码:

  • 您需要将xs:import更改为xs:include
  • xs:include行中删除namespace=""xmlns:xs="http://www.w3.org/2001/XMLSchema"

MESSAGE1.xsd

                        

HEADER.xsd

          

请根据您当地文件的位置修改XSD位置。

希望能帮助到你!