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

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

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

有帮助吗?

解决方案

无论如何,这是我的经验......

我曾经有过这样的时刻,我希望模式可以在业务规则验证方面做更多的事情。然而,根据我的经验,模式是用来定义数据契约(格式、类型等)的...... 不是 执行业务规则。试图让它超出这个范围会遇到各种各样的问题,这可能就是为什么 Schematron 的受欢迎程度似乎已经消失的原因(可能是我无法备份的糟糕假设)。

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top