用于 XML 验证的 Java 方法

标签 java xml hibernate validation xsd

我想验证java中的xml标签值。

场景: 假设我有如下数据

ELements: element1, element2, element3, element4, element5
Values: value1, value2, value3, value4, value5, value6, value7, value8

Now following are the possible combinations which I have to validate:
  1. Element1 can have value1/value2 ( element1->value1/value2 )
  2. Element2 can have value3/value4 ( element2->value3/value4 )
  4. Element3 can have value5 if element1 has value1 ( element3->value5 if element1->value1 )
     else Element3 can have value6 if element1 has value2 ( element3->value6 if element1->value2 )
  5. Element4 can have value7 if element1->value1 and element2->value4

我可以在一个 java 文件中对需求进行硬编码,但我想要一种灵活的方法,如果将来出现任何新条件,则可以轻松添加它。

我想到了 Hibernate Validation,但后来知道它支持 Java 6 及更高版本。我的限制是我必须使用 Java 1.5

请提出一种适当的方法来满足上述要求。任何链接建议也可以。

注意:模式验证已经在进行。

最佳答案

探索 Schematron 在 XML 数据上应用业务规则

Schematron 项目网站 - http://www.schematron.com

入门教程-http://www.dpawson.co.uk/schematron/introduction.html , 请参阅教程中的元素到元素约束

还有一个教程 - http://www.xml.com/lpt/a/1318

关于用于 XML 验证的 Java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24278810/

相关文章:

java - 选择下拉选项时插入数据,MySQL、JAVA、JSP

java - 如何在 JSpinner 中只允许正值?

java - 使用 JSF 创建 XML

java - HIbernate 查询语言错误

java - Hibernate 条件返回空结果

java - 无法通过 Spring 加载数据库驱动程序,但可以在类路径中手动找到它

java - 查找元素是否存在于给定范围内

java - 泛型XmlAdapter可以写吗

java - getElementsByTagName - 失败不一致

eclipse - 如何通过 eclipse 在 JUnit 测试中使用 persistence.xml 和 hibernate.cfg.xml?