使用Schematron / XSD在C#中进行XML验证

时间:2009-04-24 20:57:45

标签: c# .net xml xsd schematron

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

我一直在环顾四周,我找到的少数几个图书馆已经很老了,而且似乎不再支持了。 Schematron在2002年只是“热门”吗? 是否有任何库可以在C#中进行验证 - 或者我该怎么做?

还是有其他人可以进行高级验证并拥有C#库并且是标准化的吗?

1 个答案:

答案 0 :(得分:13)

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

我有时希望架构可以在业务规则验证方面做得更多。但是,根据我的经验,模式可以定义数据合同(格式,类型等)...... 来强制执行业务规则。试图让它更多的是遇到各种各样的问题,这可能就是为什么Schematron似乎已经在它的受欢迎程度中消失了(可能是我无法备份的坏假设)。

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

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

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