Jaxb:在带注释的类中定义固定值

时间:2013-09-16 12:39:40

标签: java xml jaxb xsd

我使用JAXB从Java类生成XML模式(XSD)。我想知道如何使用注释来指定静态属性的值。

例如,我定义了一个像这样的属性

@XmlAttribute(name="tooltip")
private static final String TOOLTIP = "A string";

我想进入我的XSD

<attribute name="tooltip" type="string" fixed="A string">

那么,如何使用JAXB强制在XSD中生成静态属性?

谢谢!

1 个答案:

答案 0 :(得分:2)

从JAXB 2.2开始,没有标准的JAXB (JSR-222)元数据可以添加到模型中,以使fixed属性出现在生成的XML Schema中。模式生成错误地过于宽松而不是过于严格。这意味着您无法执行以下操作:

  • 标记属性的固定值
  • 标记maxOccurs而不是1或unbounded