1

私たちが制御できない他のソースによって作成されたかなりの数の xsd スキーマ ファイルがあります。xjc を使用して Java クラスを生成しようとしたとき、一緒にコンパイルすると型が既に定義されているというエラーが発生しました。バインディング ファイルを使用してカスタマイズを調べましたが、このケースに関連するものは見つかりませんでした。添付された xsd ファイルを使用すると、単一の TESTBody.java クラスが次のように生成されることが期待されます。

public class TESTBody {
    protected MsgType1 msgType1;
    protected MsgType2 msgType2;
    protected MsgType3 msgType3;
    ...
}

誰かが助けやヒントを提供してくれますか?

前もって感謝します。

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:complexType name="TEST_Header">
        <xs:sequence>
            <xs:element name="sender" type="xs:string" />
            <xs:element name="receiver" type="xs:string" />
            <xs:element name="version" type="xs:integer" />
            <xs:element name="sequenceNo" type="xs:string" minOccurs="0" />
        </xs:sequence>
    </xs:complexType>


</xs:schema>

================================

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="TEST_HeaderType.xsd" />

    <xs:element name="TEST_Message">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="TEST_Header" type="TEST_Header" />
                <xs:element name="TEST_Body" type="TEST_Body" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!--#DOCUMENTATION:Second child element; contains the message payload-->
    <xs:complexType name="TEST_Body">
        <xs:sequence>
            <xs:element name="msgType1" type="msgType1" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="msgType1">
        <xs:sequence>
            <xs:element name="firstName" type="xs:string" />
            <xs:element name="lastName" type="xs:string" />
            <xs:element name="addressLine1" type="xs:string" />
            <xs:element name="addressLine2" type="xs:string" />
            <xs:element name="age" type="xs:integer" />
        </xs:sequence>
    </xs:complexType>
</xs:schema>    

================================

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="TEST_HeaderType.xsd" />

    <xs:element name="TEST_Message">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="TEST_Header" type="TEST_Header" />
                <xs:element name="TEST_Body" type="TEST_Body" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!--#DOCUMENTATION:Second child element; contains the message payload-->
    <xs:complexType name="TEST_Body">
        <xs:sequence>
            <xs:element name="msgType2" type="msgType2" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="msgType2">
        <xs:sequence>
            <xs:element name="className" type="xs:string" />
            <xs:element name="teacherName" type="xs:string" />
            <xs:element name="textBook" type="xs:string" />
            <xs:element name="classRoom" type="xs:integer" />
        </xs:sequence>
    </xs:complexType>
</xs:schema>

================================

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:include schemaLocation="TEST_HeaderType.xsd" />

    <xs:element name="TEST_Message">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="TEST_Header" type="TEST_Header" />
                <xs:element name="TEST_Body" type="TEST_Body" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!--#DOCUMENTATION:Second child element; contains the message payload-->
    <xs:complexType name="TEST_Body">
        <xs:sequence>
            <xs:element name="msgType3" type="msgType3" />
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="msgType3">
        <xs:sequence>
            <xs:element name="eventName" type="xs:string" />
            <xs:element name="eventDescription" type="xs:string" />
            <xs:element name="eventLocation" type="xs:string" />
            <xs:element name="eventTime" type="xs:date" />
        </xs:sequence>
    </xs:complexType>
</xs:schema>

======================

4

0 に答える 0