3

我有个问题:

一、问题

有没有一种方法/基于 Java 的库,我可以通过读取/加载其 XSD(提前)来检索 XML 元素的顺序?

二、背景

我正在开发的应用程序应该生成各种类型的 XML(提要),每种都基于给定的模式 (XSD)。

关键是我不能使用标准的序列化方法 - JAXB,因为我应该通过 Apache Abdera 逐渐生成/流式传输 XML。因此,我应该将我的 Java 域对象“序列化”为 XML(提要),根据其中的信息为不同的标签创建值,并按照 XSD 定义的顺序将这些标签一一写入输出流。

三、所需的功能

目前,我有一个序列化程序,它以上述方式将我的域对象转换为 xml,但很快它将需要支持多种类型的模式,而且它不容易维护(更不用说它会是非常容易出错)。

四。潜在的解决方案

因此,我想制作与XML 模式无关的序列化程序,并将创建不同 xml 元素的值的工作委托给一些专门的构建器或工厂。但是,它们应该被调用的顺序应该由模式中 xml 元素的顺序来定义。

这是我开始的问题:

有没有一种方法/基于 Java 的库,我可以通过读取/加载其 XSD(提前)来检索 XML 元素的顺序?

五、如果有这样的图书馆……

从示意图上看,序列化程序需要做的是:

  1. 按照在 XSD 中定义的顺序加载 xml 元素(标签)的类型(当然还有它们的限制)
  2. 按照加载的顺序遍历 xml 元素的加载类型,并
  3. 对于识别的每个 xml 元素类型,将相应元素的构建内容委托给关联的构建器或工厂。
  4. 具有由构建器/工厂构建的值,序列化程序只需将其与元素的标签一起包装并将其刷新到输出流中。

提前致谢!

4

0 回答 0