我的架构包含没有定义的序列,如下所示
<complexType name="CultureInfo">
<sequence>
<element name="A" type="string"/>
<element name="B" type="string"/>
</sequence>
</complexType>
运行xjc后,JAXB不生成A和B作为List&lt;&gt;总是只有一个实例。 我知道我可以通过添加
来解决这个问题 <xs:sequence maxOccurs="unbounded">
不幸的是,我无法更改架构。我想知道并获得一些冲突的信息,默认意味着如果没有指定maxOccurs,A和/或B可以多次出现吗?有些网站说是,有些人说不,JAXB说没有(这就是为什么没有List&lt;&gt;)。
答案 0 :(得分:0)
如果未指定maxOccurs
,则默认为1
在XML架构中。
来自http://www.w3.org/TR/xmlschema-0/部分 2.2.1发生限制:
在PurchaseOrderType中,comment元素是可选的,因为 其声明中minOccurs属性的值为0.一般情况下, 当minOccurs的值为1或时,需要出现一个元素 更多。确定元素可能出现的最大次数 通过其声明中的maxOccurs属性的值。这个值 可以是正整数,例如41,或者是无界的 表示没有最大出现次数。默认值 对于minOccurs和maxOccurs属性都是1.因此,当 如果没有maxOccurs属性声明注释等元素, 元素可能不会出现多次。如果你指定,请确保 只有minOccurs属性的值,它小于或等于 maxOccurs的默认值,即它是0或1.同样,如果你 仅为maxOccurs属性指定一个值,它必须更大 大于或等于minOccurs的默认值,即1或更多。如果 两个属性都被省略,元素必须恰好出现一次。