XML模式到Java代码的运行时绑定

XML模式到Java代码的运行时绑定,java,binding,xsd,runtime,Java,Binding,Xsd,Runtime,因此,情况如下: 我有一个提供XML文件编辑功能的应用程序。此文件遵循某个模式。模式属于模式的子集,它们实际上遵循从一个模式到另一个模式的演化路线,因此它们之间没有太大的差异 模式之间的主要区别是字符串标签的枚举 我现在需要以XML格式保存“元数据”(这是第二种类型的XML文件)。此“元数据”包含模式中枚举的集合中的标签列表 应用程序可以在运行时接受新的模式并进行自我调整 因此,我有一个XML文件,它必须由两个模式验证:一个是静态的,包含XML中存储的“元数据”的基本结构;另一个是包含“正确”标

因此,情况如下:

我有一个提供XML文件编辑功能的应用程序。此文件遵循某个模式。模式属于模式的子集,它们实际上遵循从一个模式到另一个模式的演化路线,因此它们之间没有太大的差异

模式之间的主要区别是字符串标签的枚举

我现在需要以XML格式保存“元数据”(这是第二种类型的XML文件)。此“元数据”包含模式中枚举的集合中的标签列表

应用程序可以在运行时接受新的模式并进行自我调整

因此,我有一个XML文件,它必须由两个模式验证:一个是静态的,包含XML中存储的“元数据”的基本结构;另一个是包含“正确”标签枚举。后一种模式是在运行时确定的

我已经浏览了JAXB、XMLBeans和JiBX

我不知道应该选择什么技术,以最有利于我的用例的方式允许代码和模式的运行时绑定

有什么建议吗

谢谢

给你

至于“方便对象”——实际上,您可以将XML模式编译成Java类——即使在运行时使用JAXB也是如此。问题是,您不能从运行时创建的类中真正获益,因为您的代码不知道它们

我会朝着一些XML模式API(如)的方向考虑

至于“方便对象”——实际上,您可以将XML模式编译成Java类——即使在运行时使用JAXB也是如此。问题是,您不能从运行时创建的类中真正获益,因为您的代码不知道它们


我会朝着一些XML模式API(如)的方向思考。

您希望通过“绑定”实现什么?或者您只需要在运行时进行验证吗?首先,我希望在运行时进行验证,一旦验证完成,我希望有方便的对象表示文件中的数据,这样我就可以继续对它们进行“有趣”的操作。您的用户是否直接在您的应用程序中编辑XML文件?与让他们在更高的抽象层次上工作相反?你的猜测(我猜)是正确的,他们确实在更高的抽象层次上工作,并且不“知道”底层XML文件。对不起@SachinSharma,我没有直接解决这个问题。。。这个问题已经有很长一段时间没有出现了,从那以后我一直在转移项目。如果内存可用,我们没有实现这种“高级”功能,而是选择了低功耗,在运行时完全加载一个完整的模式文件,而无需对其进行任何操作……您希望通过“绑定”实现什么?或者您只需要在运行时进行验证吗?首先,我希望在运行时进行验证,一旦验证完成,我希望有方便的对象表示文件中的数据,这样我就可以继续对它们进行“有趣”的操作。您的用户是否直接在您的应用程序中编辑XML文件?与让他们在更高的抽象层次上工作相反?你的猜测(我猜)是正确的,他们确实在更高的抽象层次上工作,并且不“知道”底层XML文件。对不起@SachinSharma,我没有直接解决这个问题。。。这个问题已经有很长一段时间没有出现了,从那以后我一直在转移项目。如果内存可用,我们没有实现这种“高级”功能,但选择了更低的功耗,并且在运行时完全加载一个完整的模式文件,而无需对其进行任何操作……我将看一看XSOM-听起来很有趣,有其他选择(例如Xerces模式API),检查哪些更适合您的需要。我将看一看XSOM-听起来很有趣有其他选择(例如Xerces Schema API),检查哪些更适合您的需要。