java - Jaxb:带注释的类中的属性固定值

标签 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 中强制生成静态属性?

谢谢!

最佳答案

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

  • 为属性标记一个固定值
  • 标记 maxOccurs 不是 1 或 unbounded
  • 等等

关于java - Jaxb:带注释的类中的属性固定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18828327/

相关文章:

java - 无法在 while 循环中的 java applet 中的文本字段中设置文本

java - Jaxb从XSD生成类时去除后缀 "Type"

java - RestEasy + JacksonJaxbJsonProvider 配置包含 + 注释

java - Enum#values() 是否在每次调用时分配内存?

java - 是否可以在 JAXB 编码期间忽略包装类

xml - 任务计划程序 - 自定义事件过滤器触发器未触发操作

php - 在php中比较和过滤两个xml文件

java - Java XML 中的字符错误?

java - 不需要操作系统的.NET CLR?

xml - Azure 集成帐户( map - XSLT)- 使用逻辑应用将 2 个不同的 XML 合并为单个 xml