SimpleType - 聚合或抽象

时间:2014-03-05 07:51:13

标签: jaxb xsd cxf xjc cxf-xjc-plugin

我面临一个奇怪的问题。我应该使用一些第三方XSD来进行网络服务。我选择的框架是Apache CXF,我使用它的Maven插件生成代码。到目前为止一切顺利,一切正常,无论是生成还是网络服务本身都存在问题。

但是,由于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-plugin或类似方法将这些SimpleType聚合为一个,或至少生成一个抽象类结构,以便减少不相关重复代码的数量?

0 个答案:

没有答案