xsd スキーマから Java クラスを生成しようとしていますが、JAXB を使用しています。ほとんどの場合、プロセスを実行してクラスを生成すると、機能します。ただし、メンバー変数、 getter 、および setter が生成されないクラスがいくつかあります。これが私が持っているものです
ファイル ns2.xsd
<xs:element name="Observation" type="ns2:ObservationType" substitutionGroup="ns1:_MetaData"/>
<xs:complexType name="ObservationType" mixed="true">
<xs:complexContent mixed="true">
<xs:extension base="ns1:AbstractType">
<xs:sequence>
<xs:element ref="ns2:identifier"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ファイル ns3.xsd
<xs:element name="Observation" type="ns3:ObservationType" substitutionGroup="ns2:Observation"/>
<xs:complexType name="ObservationType" mixed="true">
<xs:annotation>
<xs:documentation>this extends the ns2:ObservationType </xs:documentation>
</xs:annotation>
<xs:complexContent mixed="true">
<xs:extension base="ns2:ObservationType">
<xs:sequence>
<xs:element ref="ns3:deliveryInfo" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
これにより、空のクラスが作成されます
package mypackage.ns3;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
/**
* this extends the ns2:ObservationType
*
* <p>Java class for ObservationType complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* <complexType name="ObservationType">
* <complexContent>
* <extension base="{http://earth.esa.int/ns2}ObservationType">
* <sequence>
* <element ref="{http://earth.esa.int/ns3}deliveryInfo" minOccurs="0"/>
* </sequence>
* </extension>
* </complexContent>
* </complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ObservationType")
public class ObservationType
extends mypackage.ns2.ObservationType
{
}
私の質問は、必要なメンバー変数とそのセッターとゲッターを作成しないのはなぜですか? スキーマに何か問題がありますか、それとも JAXB に制限があり、異なるファイルの拡張子を使用する複雑な型から欠落している情報を作成できますか? 前もって感謝します。あなたの助けやコメントをいただければ幸いです。