11

我一直在寻找一种方法来对 XML 文档进行一些更高级的业务规则验证。到目前为止,Schematron 似乎能够做到,我需要什么。

我一直在环顾四周,我发现的几个库很旧,似乎不再受支持。Schematron 在 2002 年只是“热”吗?是否有任何库可以在 C# 中进行验证 - 或者我该怎么做?

或者是否还有其他可以进行高级验证并拥有 C# 库并进行标准化的?

4

1 回答 1

13

对于它的价值,这是我的经验......

我曾有过希望架构可以在业务规则验证方面做得更多的时候。但是,根据我的经验,有一个模式来定义数据协定(格式、类型等)……而不是强制执行业务规则。试图让它变得更多会遇到各种各样的问题,这可能就是为什么 Schematron 的受欢迎程度似乎已经下降(可能是我无法备份的错误假设)。

为了解决这个问题,通常可以采用两遍方法:

  • 使用模式验证验证 xml 结构/数据类型等。
  • 对 xml 应用业务规则检查(在普通的 c# 代码中)。

我了解您是否想要采用一体化的验证方法,但从长远来看,尝试为此使用模式会导致更多的麻烦。最后,您将通过隔离代码来更好地控制业务规则检查。

于 2009-04-24T21:24:35.670 回答