【发布时间】:2012-04-10 18:16:34
【问题描述】:
我有一个 Java 程序,我必须在其中根据 XSD 模式验证 XML 消息。到目前为止,一切都很好。但是现在我有了一个新要求,根据 XML 消息的内容,部分验证是不同的。
因此,基于一个字段 (1) 的值,某些字段是否可以为空,并且某些枚举是不同的。但是我无法在验证之前解析文档...那我应该如何处理呢?
1) 有 2 个不同的 XSD 文件,将 XML 处理为文本(=丑陋)并提取一个字段来决定应该使用哪个 XSD?
2) 有 3 个不同的 XSD 文件。 2 个不同的选项和一个联合,以便我们可以以匹配 2 个选项的方式进行验证?我们是否可以正确解析 XML、提取字段并决定使用哪个更具体的 XSD 进行额外验证?
3) 其他选项?
【问题讨论】:
-
“验证前无法解析文档”是什么意思?
-
如果文档没有经过验证,它很可能是无效的 XML,因此解析会产生异常。