JAXB - XJC 可以将 appinfo 编译到类结构中吗?

发布于 2024-09-24 00:53:18 字数 319 浏览 7 评论 0原文

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

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

是否有某种方法可以让 XJC 编译此信息?

I have a schema which is read by a few different applications for form generation; one of them uses JAXB/XJC to compile its class structure. The schema contains appinfo information for friendly names of fields, eg:

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

Is there some way to get XJC to compile this information in?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

揽清风入怀 2024-10-01 00:53:18

您可以使用 注释插件 将任意 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(...) {}

You can use the Annotate plugin to add arbitrary Java annotations into your schema-derived classes. With this plugin you can manage a syntax like:

<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>

An you'll get something like:

@Label("Home address") // FQCN is com.acme.foo.Label
public String getHomeAddress(...) {}
如果没有你 2024-10-01 00:53:18

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

I am not aware of a way to do this using the XJC tool that comes with the JAXB reference implementation. However, XJC does allow you to create custom plugins that may let you do need to:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文