5

我有一个模式,由几个不同的应用程序读取以生成表单;其中之一使用 JAXB/XJC 编译其类结构。架构包含字段友好名称的 appinfo 信息,例如:

<xs:element name="HomeAddress" type="xs:string">
  <xs:annotation>
    <xs:appinfo>Home address</xs:appinfo>
  </xs:annotation>
</xs:element>

有什么方法可以让 XJC 编译这些信息吗?

4

2 回答 2

6

您可以使用Annotate 插件将任意 Java 注释添加到您的模式派生类中。使用此插件,您可以管理如下语法:

<xs:element name="HomeAddress" type="xs:string">
  <xs:annotation>
    <xs:appinfo>
      <ann:annotate xmlns:ann="http://annox.dev.java.net/com.acme.foo">
        <my:Label value="Home address"/>
      </ann:annotate>
    </xs:appinfo>
  </xs:annotation>
</xs:element>

你会得到类似的东西:

@Label("Home address") // FQCN is com.acme.foo.Label
public String getHomeAddress(...) {}
于 2010-09-21T15:04:53.983 回答
0

我不知道使用 JAXB 参考实现附带的 XJC 工具来执行此操作的方法。但是,XJC 确实允许您创建自定义插件,这些插件可能让您确实需要:

于 2010-09-17T16:36:43.697 回答