JAXB @XmlElements使minOccurs = 1
所以我希望有一个列表用@XmlElements注释,如下所示
@XmlElements( { @XmlElement(name = "Apple", type = Apple.class), @XmlElement(name = "Orange", type = Orange.class), @XmlElement(name = "Mango", type = Mango.class) } ) public List getEntries() { return fruitList; }
我想知道是否有办法强制列表包含至少1个元素,因为现在,xsd看起来像
假设Apple,Orange和Mango是Fruit的子类,您可能希望使用@XmlElementRef
注释entries
属性,该属性对应于XML模式中的替换组,而不是对应于选择概念的@XmlElements
。
@XmlElementRef public List getEntries() { return fruitList; }
这假设Apple,Orange和Mango类扩展了Fruit类,并使用@XmlRootElement
进行了注释。
@XmlRootElement public class Apple extends Fruit { ... }
了解更多信息
我建议检查一下:
@XmlElements( { @XmlElement(name = "Apple", type = Apple.class, required = true), @XmlElement(name = "Orange", type = Orange.class, required = true), @XmlElement(name = "Mango", type = Mango.class, required = true) } )