我有一个 RelaxNG 架构,我想创建符合该架构的文档,但使用该架构派生一个 GUI(最好是 Java),其中包含与架构元素对应的字段。每个字段都将与一个“验证器”相关联,该“验证器”强制执行架构中指定的该元素的约束。注意 - 这不是从 GUI 的 XML 定义派生的 GUI。相反,我试图自动生成一个 GUI 编辑器,它允许生成符合模式的文档。
是否有能够做到这一点的开源工具?
我有一个 RelaxNG 架构,我想创建符合该架构的文档,但使用该架构派生一个 GUI(最好是 Java),其中包含与架构元素对应的字段。每个字段都将与一个“验证器”相关联,该“验证器”强制执行架构中指定的该元素的约束。注意 - 这不是从 GUI 的 XML 定义派生的 GUI。相反,我试图自动生成一个 GUI 编辑器,它允许生成符合模式的文档。
是否有能够做到这一点的开源工具?
我认为没有任何开箱即用的解决方案可以做到这一点。如果您想自己构建它,我建议使用 rngom http://java.net/projects/rngom作为起点。使用 rngom,您可以解析 RelaxNG 模式并从中生成对象模型。从生成的对象模型中生成某种 GUI 应该不难。
不幸的是,根本没有关于如何使用 rngom 的文档,这就是为什么我发布了这个与 rngom 相关的问题:Generate object model out of RelaxNG schema with RNOM - how to start? 我唯一知道的是 Glassfish 的人使用它为libvirt domain.xml RelaxNG 模式生成对象模型(但我还不知道如何)。