Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 具有相互依赖性检查的验证层_Java_Validation_Xsd_Rule Engine_Relaxng - Fatal编程技术网

Java 具有相互依赖性检查的验证层

Java 具有相互依赖性检查的验证层,java,validation,xsd,rule-engine,relaxng,Java,Validation,Xsd,Rule Engine,Relaxng,将为更多客户端打开现有后端服务(向Web前端客户端添加Web服务层)。 目前,XML模式用于验证DTO,但由于前端不受我们的控制,我们将不得不将扩展测试(如相互依赖测试)从前端层移动到新的“验证层”。 现在我们的问题是,是否存在一个通用的模式,例如,类似于使用RELAXNG或规则引擎的东西?要求能够检查数据类型(这里我们将继续使用XML模式)和相互依赖关系,但这些相互依赖关系可能会变得非常复杂,也就是说,它们可能涉及对输入数据中不可用的数据(但在某些外部系统中)的检查。 因此,我们正在寻找一种模

将为更多客户端打开现有后端服务(向Web前端客户端添加Web服务层)。
目前,XML模式用于验证DTO,但由于前端不受我们的控制,我们将不得不将扩展测试(如相互依赖测试)从前端层移动到新的“验证层”。
现在我们的问题是,是否存在一个通用的模式,例如,类似于使用RELAXNG或规则引擎的东西?要求能够检查数据类型(这里我们将继续使用XML模式)和相互依赖关系,但这些相互依赖关系可能会变得非常复杂,也就是说,它们可能涉及对输入数据中不可用的数据(但在某些外部系统中)的检查。
因此,我们正在寻找一种模式以及一种框架,使模式的实现变得容易。

是一种模式语言(可能用作XSD顶部的一个层)

Schematron基于使用XPath表示的约束,在大多数情况下,XPath功能强大,足以表示所需的内容。由于XPath可以使用用户定义的函数进行扩展,因此可以通过比较来自外部数据库的数据等方式执行潜在的任何验证

(如果为了验证目的而在文档外部绘制数据,一种很好的方法是将外部数据作为XML公开(可能以RESTy方式提供),这样验证约束就可以在Schematron模式中完全用XML术语表示。)