我在项目中使用Jibx maven插件从XML模式(xsd)文件生成Java源代码。我已经在pom.xml中配置了插件以使用自定义xml。在这个xml中,我为每个模式定义了一个Java包,如下所示:
<schema-set>
<schema name="schema1.xsd" package="com.myApp.jibxgenerated.schema.schema1"/>
<schema name="schema2.xsd" package="com.myApp.jibxgenerated.schema.schema2" includes="element1" />
<schema name="schema3.xsd" package="com.myApp.jibxgenerated.schema.schema3" includes="element1 element2" />
</schema-set>
我在这些模式中定义了名称空间。输出的Java源文件仍然使用模式中定义的命名空间来创建Java包,忽略customization.xml中的package属性。
我知道正在读取customization.xml并在源代码生成中使用它,因为还有一些其他自定义项可以正常工作。
这是一个错误还是我在这里做错了什么?
提前感谢您的帮助。
答案 0 :(得分:0)
在http://jibx.sourceforge.net/fromschema/codegen-customs.html,他们在外部schema-set
内嵌套多个schema-set
。试试这个:
<schema-set>
<schema-set package="com.myApp.jibxgenerated.schema.schema1">
<schema name="schema1.xsd"/>
</schema-set>
<schema-set package="com.myApp.jibxgenerated.schema.schema2">
<schema name="schema2.xsd" includes="element1" />
</schema-set>
<schema-set package="com.myApp.jibxgenerated.schema.schema3">
<schema name="schema3.xsd" includes="element1 element2" />
</schema-set>
</schema-set>