现有的后端服务将开放给更多的客户端(为 Web-Frontend 客户端添加一个 Web 服务层)。
目前,XML Schema 用于验证 DTO,但由于前端超出了我们的控制范围,我们必须将扩展测试(例如相互依赖测试)从前端层移动到新的“验证层”。
现在我们的问题是,是否存在一个共同的模式,例如。类似于使用 RELAX NG 或规则引擎的东西?要求是能够检查数据类型(我们将在此处保留 XML 模式)和相互依赖关系,但这些相互依赖关系可能会变得相当复杂,即。它们可能涉及检查输入数据中不可用的数据(但在某些外部系统中)。
因此,我们正在寻找一种模式以及一个可以轻松实现这些模式的框架。
问问题
134 次
1 回答
0
Schematron是要查看的模式语言(可能用作 XSD 之上的一个层)。
Schematron 基于使用 XPath 表达的约束,在大多数情况下,XPath 足够强大,可以表达所需的内容。由于 XPath 可以使用用户定义的函数进行扩展,因此有可能通过比较外部数据库中的数据等来执行任何验证。
(如果您出于验证目的使用文档外部的数据,一个很好的方法是将外部数据公开为 XML - 可能以 RESTy 方式提供 - 因此验证约束可以在您的 Schematron 模式中完全用 XML 术语表示。)
于 2011-06-18T07:03:01.303 回答