1

私は奇妙な問題に直面しています。Web サービスにサードパーティの XSD を多数使用することになっています。私が選んだフレームワークは Apache CXF で、その Maven プラグインを使用してコードを生成します。これまでのところ、すべてがうまく機能しており、生成も Web サービス自体も問題はありません。

しかし、XSD の作成者は奇妙で、自分で変更できないため、問題に直面しています。基本的に複製された SimpleType 定義が多数使用されています。それらはすべて独自の名前を持っていますが、同じことをします。

例:

<xs:simpleType name="VehicleFittedWithEcoInnovInd">
    <xs:restriction base="xs:string">
        <xs:maxLength value="1"/>
        <xs:enumeration value="Y"/>
        <xs:enumeration value="N"/>
    </xs:restriction>
</xs:simpleType>

<xs:simpleType name="TypeApprTranspDangerGoodsInd">
    <xs:restriction base="xs:string">
        <xs:maxLength value="1"/>
        <xs:enumeration value="Y"/>
        <xs:enumeration value="N"/>
    </xs:restriction>
</xs:simpleType>

その他にも多数 (数値、文字列定義など)。

問題は、jaxb プラグインなどを使用して、これらの SimpleTypes を 1 つに集約するか、少なくとも抽象クラス構造を生成して、無関係な重複コードの量を減らすことができるかということです。

4

0 に答える 0