【问题标题】:Generate JAXP DOM document with element order based on schema基于模式生成元素顺序的 JAXP DOM 文档
【发布时间】:2015-09-22 15:07:40
【问题描述】:

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

【问题讨论】:

    标签: java xsd xml-parsing jaxp


    【解决方案1】:

    有没有办法告诉转换器按照 xsd 文件指定的顺序写出元素?

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

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

    如果您对 XSLT 很熟悉,那么更改 XML 的顺序很简单。您甚至可以将 XSD 用作辅助输入并根据 xs:sequence 的外观自动排序,或者您创建需要特定顺序的地点列表并使用 xsl:sort 或其他方式或排序进行动态排序。

    【讨论】:

    • 这不是我想要的,但在这一点上,我很确定不存在一个简单的解决方案,我们只需要最终修改xsd 忽略顺序。
    • @stephen 这可能是最好的方法。数据当前无效。您可以修复数据或修复架构。如果您要允许不同的订单,修复架构似乎是合适的
    猜你喜欢
    • 2015-07-26
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2014-06-11
    • 1970-01-01
    • 2015-05-26
    • 2010-09-10
    • 2020-08-23
    相关资源
    最近更新 更多