0

我正在使用 jibx 自动生成基于 xsd 模式分类的 java。在这个模式中,我有一个名为市场的集合:

<xs:element maxOccurs="unbounded" minOccurs="0"
name="markets" nillable="true" type="market"/>

当我运行 jibx(使用 maven 插件)时,结果是一个带有以下集合的 java 类:

 private List<Market> marketList = new ArrayList<Market>();
/** 
     * Get the list of 'markets' element items.
     * 
     * @return list
     */
    public List<Market> getMarketList() {
        return marketList;
    }

    /** 
     * Set the list of 'markets' element items.
     * 
     * @param list
     */
    public void setMarketList(List<Market> list) {
        marketList = list;
    }

我想要的是元素的名称以及没有单词 List 的 getter 和 setter,而是使用单词市场 setMarkets() 和 getMarkets()。

我知道我可以在 pom.xml 中指定一个自定义文件:

<customizations>
<customizations>src/main/config/custom1.xml</customizations>
</customizations>

但我不知道如何在custom1.xml 中指定我需要的行为。

对此有任何想法吗?

4

1 回答 1

1

Marco,
您是对的,您需要使用扩展自定义。替换方法名有两种方式:

  1. 使用 strip-suffixes 命令。
    您的自定义文件看起来像这样
    <schema-set xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <name-converter strip-suffixes="List"/>
    </schema-set>>


  2. 如果您希望您的方法是 getMarkets 而不是 getMarket,请编写一个名称转换器。

以下是您想要从 JiBX 网站执行的操作的文档:http:
//jibx.sourceforge.net/fromschema/codegen-extends.html
Don
JiBX 贡献者

于 2013-05-30T17:07:47.513 回答