使用 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 - 为什么它仍然是我的架构的一部分?