- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 JAXB 2.1 从几个我无法修改的 XSD 文件(实际上来自 WSDL 文件)生成 Java 类,并且我有一个与复杂类型限制相关的问题。On of the restrictions modifies the occurence configuration from minOccurs="0" maxOccurs="unbounded"
至 minOccurs="0" maxOccurs="0"
.因此,在受限类型中不再需要该字段。但实际上 JAXB 生成具有 [0..1] 基数而不是 0 的受限类。
顺便说一下,一代是用 <xjc:treatRestrictionLikeNewType />
调整的这样 XSD 限制就不会映射到 Java 类继承。
这是一个例子:
这是在复杂类型 A 中定义字段的方式:
<element name="qualifier" type="CR" maxOccurs="unbounded" minOccurs="0"/>
下面是同一字段在另一个限制 A 的复杂类型 B 中的限制方式:
<element name="qualifier" type="CR" minOccurs="0" maxOccurs="0"/>
在我生成的 A 类中:
@XmlElement(name = "qualifier")<br/>
protected List<CR> qualifiers;
在 B 生成的类中我有:
protected CR qualifiers;
由于我对 JAXB 的了解不足,因此缺少 XmlElement
注释告诉 JAXB 不要编码/取消编码该字段。我错了吗?如果我是对的,有没有办法告诉 JAXB 不要生成 qualifiers
领域吗?在我看来,这将是更好的一代,因为它尊重约束。
关于这个话题有什么想法吗?
谢谢!!
最佳答案
如果不需要类型,那么 minOccurs="0"就足够了,不是吗?看起来您正在尝试定义一个可能未包含在文档中的元素 - 这没有意义,尽管它是有效的。
关于java - JAXB 代码生成 : restricted type -> how to remove a zero occurrence field?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3060052/
我是一名优秀的程序员,十分优秀!