Jaxb 为什么';t xjc在maxOccurs为';在一个元素上指定t?

Jaxb 为什么';t xjc在maxOccurs为';在一个元素上指定t?,jaxb,Jaxb,我有一个模式,它包含一个没有出现的序列,定义如下 在运行xjc之后,JAXB不会生成A和B作为列表,这意味着始终只有一个实例。 我知道我可以通过添加 不幸的是,我无法更改模式。我想知道并得到一些冲突的信息,默认情况下,如果没有指定maxOccurs,A和/或B可以出现多次吗?一些站点说是,一些站点说否,JAXB说否(这就是为什么没有列表)。当未指定maxOccurs时,XML模式中的默认值为1 从第2.2.1节“发生约束”中: 注释元素在PurchaseOrderType中是可选的,因为

我有一个模式,它包含一个没有出现的序列,定义如下


在运行xjc之后,JAXB不会生成A和B作为列表,这意味着始终只有一个实例。 我知道我可以通过添加



不幸的是,我无法更改模式。我想知道并得到一些冲突的信息,默认情况下,如果没有指定maxOccurs,A和/或B可以出现多次吗?一些站点说是,一些站点说否,JAXB说否(这就是为什么没有列表)。

当未指定
maxOccurs
时,XML模式中的默认值为
1

从第2.2.1节“发生约束”中:

注释元素在PurchaseOrderType中是可选的,因为 其声明中minOccurs属性的值为0。一般来说 当minOccurs的值为1或1时,需要显示一个元素 更多确定元素可能出现的最大次数 通过其声明中maxOccurs属性的值。此值 可以是一个正整数,例如41,或者是一个无界于的项 表示没有最大出现次数。默认值 minOccurs和maxOccurs属性的值均为1。因此,当 声明诸如comment之类的元素时没有maxOccurs属性, 该元素不能出现多次。如果您指定 仅minOccurs属性的值,小于或等于 maxOccurs的默认值,即为0或1。同样,如果你 仅为maxOccurs属性指定一个值,该值必须更大 大于或等于minOccurs的默认值,即1或更多。如果 如果省略这两个属性,则元素必须恰好出现一次


是的,谢谢。我也从中找到了同样的答案