JAXB中不同xmls / roots中的子元素的共享类
在JAXB中使用xsd方案中的xjc自动生成类时。
alpha.xsd
beta.xml
正如您所看到的,在这两个方案之间共享Person
元素。 我想做的是:
- 使用xjc生成类,以便为两个模式类共享
ObjectFactory
类(输出类将在一个包中) - 不使用嵌套的静态类(具有属性
localScoping="toplevel"
) - 使用
Person
类与/alpha/persons/person
绑定,如/country/class/person
因此没有创建两个Person类
这样做的目的是解组一个xml,应用业务逻辑并创建另一个作为输出,其中一些元素(如Person
)相同并为两个xml文件共享。 两个文件的命名空间都是相同的。
如果您能向我提供完整的.xjb绑定设置文件,我将不胜感激。 到目前为止我的仅包含:
当然我得到名称冲突错误,因为我不知道如何设置绑定编译器以将Person
视为相同的实体/元素。
如果来自A的person
名称空间将等于来自B的 名称空间 person
,则该xjc必须生成正确的类。
您可以使用外部绑定文件来指示在类生成期间,我们希望将现有类用于名为Document的复杂类型。
binding.xml
XJC电话
xjc -b binding.xml beta.xsd