いくつかの子 XSDが埋め込まれた xsd があります(「xsd:include」を使用) (ただし、各 xsd は同じ名前空間に属します)。1 つのパッケージではなく、別個のサブパッケージ(子 XSD ごとに 1 つのサブパッケージ)で jaxb クラスを生成するように依頼されました。
私がこれまでに読んだことによると、jaxb:schemaBindings
これらの xsds のみが異なる名前空間に属している場合、これらの個別の xsd に追加して、個別のパッケージでクラスを生成できます。
しかし、私の場合、私がやりたいことは、同じ名前空間に属する一連の xsds のいくつかのサブパッケージにクラスを作成することです。JAXBを使用してこれを行うのを手伝ってもらえますか?
編集:問題をもう少し明確にするために、問題についてもう少し説明を追加しました。
すべての XSD には次のヘッダーがあります。したがって、同じ名前空間。
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:srm="http://www.mycompany.com/srm/"
targetNamespace="http://www.mycompany.com/srm/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.0" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.0">
私のスキーマ ファイル名が A.xsd、B.xsd、および C.xsd であるとします。
C.xsd では、上記のヘッダーでいくつかの要素 (文字列型) を定義しました。
B.xsd では、「xsd:include」タグを使用して C.xsd をインクルードしました。次に、C.xsd で定義された複合型を使用した complexType 定義があります (上記と同じヘッダーがあります)。
A.xsd では、「xsd:include」タグを使用して B.xsd をインクルードしました。次に、B.xsd で定義された複合型を使用した complexType 定義があります (上記と同じヘッダーがあります)。
以下で述べたように、JAXB クラスを生成したいと考えています。
com.generate.packageA パッケージで生成する A.xsd に関連する JAXB クラス。
com.generate.packageB パッケージで生成する B.xsd に関連する JAXB クラス。
com.generate.packageC パッケージで生成する C.xsd 関連の JAXB クラス。