JXC スキーマ生成 ant タスクを使用すると、列挙型を無視するようには見えません。生成された XML に関連しないタイプまたはマイナーな構成値を示すために内部的に使用される列挙型がいくつかあります。
列挙型を @XmlTransient として使用してフィールドを除外し、オブジェクトのスキーマから除外できますが、列挙型の simpleType 記述子は引き続き生成されます。
例:
public class CustomerType {
@XmlTransient
public enum IsolationLevel { ALL, SAME_TYPE, SELECTED }
@XmlTransient
private Long id;
@XmlValue
private String name;
@XmlTransient
private IsolationLevel isolation = IsolationLevel.ALL;
}
生成されたスキーマ:
<xs:simpleType name="isolationLevel">
<xs:restriction base="xs:string">
<xs:enumeration value="ALL"/>
<xs:enumeration value="SAME_TYPE"/>
<xs:enumeration value="SELECTED"/>
</xs:restriction>
</xs:simpleType>
JXCに列挙型を無視させる方法について誰かアイデアがありますか? XML マップされたプロパティまたはフィールドで使用されておらず、列挙自体は @XmlTransient とマークされています。なぜそれがまだ私のスキーマの一部なのですか?