有没有办法用xmlBeans处理多个xsd版本?

时间:2013-12-16 10:53:52

标签: java xml xsd xmlbeans

我知道我可以在一个jar中编译多个xsd文件。我尝试过使用不同的命名空间,这只会让我的目标只有一半。这样我就可以解析正确的模式,但我希望这对我的用户是透明的,这些用户将接收我已解析的xmlBeans对象。

他们不必知道系统上当前存在哪个版本的xml文件。我需要为每个xsd版本提供一个超类才能实现这一目标。

这可以用xmlBeans吗?

1 个答案:

答案 0 :(得分:0)

我的理解是,如果你有一个com命名空间和一个com.v1和com.v2命名空间,你在com.v1中有一个名为EmployeeV1的xsd元素,在com.v2中有一个EmployeeV2。 你想在com命名空间中使用一个名为Employee的超类,你想要返回给你的调用者吗?

您认为EmployeeV1和EmployeeV2可以从您的xsd中的Employee扩展吗?然后,当您生成时,您将获得代表您的xsd的类层次结构。

如果这不起作用,(我现在几年没有使用过xmlbeans),你可能需要创建自己的域对象并让你的调用者使用它。这可能是值得的,因为对我来说,看起来你处理其他人依赖的XML的解析,你可以通过拥有一个中间域对象从XML的结构(这是不断变化的)中抽象所有其他用户。