我一直在寻找一种方法来对 XML 文档进行一些更高级的业务规则验证。到目前为止,Schematron 似乎能够满足我的需求。
我一直在四处寻找,我发现的几个库非常陈旧,似乎不再受支持。 Schematron 只是在 2002 年才“火爆”吗? 是否有任何库可以在 C# 中进行验证 - 或者我该怎么做?
或者是否有其他人可以进行高级验证并拥有 C# 库并且是标准化的?
最佳答案
无论如何,这是我的经验...
我曾经希望模式可以在业务规则验证方面做更多的事情。然而,根据我的经验,模式用于定义数据契约(格式、类型等)......NOT 用于执行业务规则。试图让它超过这个会遇到各种各样的问题,这可能就是为什么 Schematron 似乎已经不再受欢迎的原因(可能是我无法备份的错误假设)。
为了解决这个问题,通常可以采用两次通过的方法:
- 使用模式验证来验证 xml 结构/数据类型等。
- 应用业务规则检查 xml(在普通 c# 代码中)。
我理解您是否想采用一体化方法进行验证,但从长远来看尝试为此使用模式会导致更多麻烦。最后,您将通过隔离代码来更好地控制业务规则检查。
关于c# - 在 C# 中使用 Schematron/XSD 进行 XML 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/787554/