生成具有基于模式的元素顺序的 JAXP DOM 文档

Generate JAXP DOM document with element order based on schema

我正在动态生成需要在运行时根据架构进行验证的文档。我 运行 遇到的问题是文档的结构是正确的,但每个级别的元素顺序不正确。有没有办法告诉转换器按照 xsd 文件指定的顺序写出元素?还是我必须解析 xsd 并手动排序?

Is there a way to tell the transformer to write out the elements in the order specified by an xsd file?

如果你指的是验证器,那么就不是。如果顺序不正确,您可以做两件事:

  1. 修复 XSD 以允许使用您想要使用的顺序
  2. 修复 XML

如果您熟悉 XSLT,更改 XML 的顺序是微不足道的。您甚至可以使用 XSD 作为辅助输入并根据 xs:sequence 的出现自动排序,或者您创建需要特定顺序的位置列表并使用 xsl:sort 或动态排序另一种方式或顺序。