java - XML 模式与 Java 代码的运行时绑定(bind)

标签 java binding xsd runtime

情况是这样的:

我有一个应用程序,它提供 XML 文件的编辑功能。该文件遵循一定的架构。该模式属于模式的一个子集,这些模式实际上遵循从一个模式到另一个模式的演变路线 - 因此它们彼此之间并没有那么不同。

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

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

应用程序可以在运行时接受新架构并进行 self 调整。

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

我浏览过 JAXB、XMLBeans 和 JiBX。

我不知道该选择什么技术来允许代码和架构的运行时绑定(bind),从而最有利于我的用例。

有什么建议吗?

谢谢!

最佳答案

这里是an article on validation .

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

我会考虑一些 XML Schema API 的方向(例如 XSOM )。

关于java - XML 模式与 Java 代码的运行时绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2553126/

相关文章:

java - 从 web.xml 文件(CDATA 项)中删除 "error"标记

c# - XML .xsd 无效元素

java - 我应该使用 Quartz XML 作业文件还是使用代码配置作业

java - 从 Oracle View 的结果中获取多个对象

c++ - 从零开始的 Lua/C++ 绑定(bind)

c# - 一般使用 asp.net mvc 模型绑定(bind)器

XML 架构 : Element that can contain elements or text?

java - 嵌入式 Jetty 通过表单例份验证提供静态内容

java - Spring RedisConnectionFactory 事务不返回到池的连接,然后在用尽时阻塞

c# - WPF 数据绑定(bind)到字符串属性