我想创建一个 XSD,我们称之为 XSD_A,它位于模块:module_A 下。 我想通过包含或导入另一个 XSD 来引用,让我们从另一个模块 module_B 中调用该 XSD_B。
XSD_B 位于 module_B 的资源下,因此应打包到 JAR 中。 我希望 xjc 编译 XSD_A 以在编译时创建 Java 类,到目前为止,我正确地将其用作 Maven 配置,没有出现问题。
XSD_B 是一个官方 XSD,开头为:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://my.own.url" xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning" targetNamespace="http://my.own.targetNamespace" elementFormDefault="unqualified" attributeFormDefault="unqualified" vc:minVersion="1.1">
我最初的方法是:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://example.com/b"
xmlns:ec="http://my.own.targetNamespace"
targetNamespace="http://example.com/b"
elementFormDefault="qualified">
<xs:import namespace="http://my.own.targetNamespace" schemaLocation="/PATH_TO_REFENCE_XSD_B"/>
我也尝试过使用:
schemaLocation="/PATH_TO_REFENCE_XSD_B"/
没有成功。 我的问题是:
最简单、最可靠的方法是从 JAR 文件中提取依赖架构并保留您自己的架构。