我正在动态生成一个需要在运行时针对架构进行验证的文档。我遇到的问题是文档的结构是正确的,但每个级别的元素顺序不正确。有没有办法告诉转换器按照 xsd 文件指定的顺序写出元素?或者我是否必须解析 xsd 并手动对其进行排序?
最佳答案
Is there a way to tell the transformer to write out the elements in the order specified by an xsd file?
如果变压器是指 validator ,那么就不行。如果顺序不正确,您可以执行以下操作:
- 修复 XSD 以允许您想要使用的顺序
- 修复 XML
如果您熟悉 XSLT,那么更改 XML 的顺序就很简单。您甚至可以使用 XSD 作为辅助输入并根据 xs:sequence
的外观自动排序,或者创建需要特定顺序的位置列表并使用 xsl 动态排序:排序
或其他方式或排序。
关于java - 根据模式生成元素顺序的 JAXP DOM 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32720462/