【问题标题】:Using ANT with multiple XSD and single XJB将 ANT 与多个 XSD 和单个 XJB 一起使用
【发布时间】:2011-09-24 17:11:59
【问题描述】:

我有一个自定义的外部 XJB 文件,其中包含如下模式名称:

jxb:bindings schemaLocation="completeCheck.xsd" node="/xs:schema"

只是想知道,有没有办法在运行时使用 ANT(使用 ANT XJC)在 XJB 文件中替换模式名称,或者编写一个 xjb 绑定文件,这样我就不必在其中硬编码模式名称。基本上,我正在尝试查看是否可以将单个 xjb 文件用于多个 XSD。

目前,我到处都有相同的 xjb 文件,并且在 build.xml 中到处都引用了不同的硬编码模式名称。任何指针都受到高度赞赏。我正在使用 JAXB 2.x

【问题讨论】:

    标签: ant binding xsd jaxb xjc


    【解决方案1】:

    通常,在最新版本的 XJC 中,您可以使用模式组件指示符。更多信息在这里: https://jaxb.java.net/nonav/2.2.1/docs/vendorCustomizations.html#scdhttps://jaxb.java.net/guide/Using_SCD_for_customizations.html

    【讨论】:

      【解决方案2】:

      通过将 schemaLocation 属性的值替换为某种标记(例如 !!!),从 xjb 文件创建模板,并使用其他名称/扩展名保存它。定义一个带有诸如 schema-name 属性的宏,它将使用 ant 的 replace 将模板文件中的标记更改为您的模式名称,并将其保存为绑定文件,以供 xjc 随后使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-15
        • 2017-12-18
        • 1970-01-01
        • 1970-01-01
        • 2013-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多