我必须验证具有许多复杂验证规则的 XML。我正在考虑定义一个 XSD 文件来自动进行验证,但是有一些复杂的文件无法在 XSD 中定义。
现在要写很多java代码,通过xpath获取值,一一验证,写代码和测试都很无聊。
我正在寻找一种简单的方法来做到这一点,是否有任何 XML 验证库?或者我们可以在 java 中定义一些非常复杂的验证规则并与 XSD 一起使用吗?
更新:
我忘了提到,我需要在错误消息中添加一些错误代码,以帮助另一个团队处理错误。我不确定 XSD 是否可以让我这样做。
再次更新:
一个复杂的规则:(以下路径在文档的一个节点下,比如说/my-node
,而不是根)
if /aaa exists
/bbb should exist
/ccc should not exist, and
if /aaa's value is 111:
/bbb's value should be 222
if /aaa's value is 555:
/bbb's value should be 666
else
/bbb should not exist
/ccc should exist, and its value should not be number