5

jar 内の別の xsd で定義された型に依存する xsd ファイルをプロジェクトに追加したいと考えています。jaxb を使用して、xsds から Java クラスを生成します。「FooType」が正しく解決され、適切な Java クラスが生成されるように、SchemaContainingFooTypeIsInaJAR.xsd を参照する方法

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:include schemaLocation="SchemaContainingFooTypeIsInaJAR.xsd"/>
<xs:complexType name="FooMoreType">
    <xs:complexContent>
        <xs:extension base="FooType">
            <xs:sequence>
                <xs:element name="something" type="xs:boolean" minOccurs="0">
                    <xs:annotation>
                        <xs:documentation xml:lang="en">
                            something something
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:sequence>
        </xs:extension>
    </xs:complexContent>
</xs:complexType>
</xs:schema>
4

3 に答える 3

2

次の機能に興味があるかもしれません:

つまり、スキーマを指すカタログ ファイルを JAR ファイルに記述できます。

REWRITE_SYSTEM "some/url/a.xsd" "maven:org.jvnet.jaxb2.maven2:maven-jaxb2-plugin-tests-episodes-a!/a.xsd"

免責事項: 私は maven-jaxb2-plugin の主任開発者です。

于 2013-01-27T21:27:59.733 に答える
0

あなたの行を置き換えます:

<xs:include schemaLocation="SchemaContainingFooTypeIsInaJAR.xsd"/>

<xs:include schemaLocation="jar:file:///path/to/jar/thing.jar!/path/inside/jar/to/file.xsd"/>

于 2016-02-18T22:02:30.783 に答える
0

XML スキーマ参照およびJAXB SchemaFactory ソース順序はスキーマ間のインポート順序に従う必要がありますか?を参照してください。

コンセンサスは次のように見えます: 独自のリゾルバーを提供する必要があります。

于 2012-09-13T22:47:43.227 に答える