定制XML文档的验证模式
时间:2020-03-05 18:40:49 来源:igfitidea点击:
我有一个Web应用程序,生成一个中等大小的XML数据集,供第三方使用。
我认为为生成的XML提供某种形式的架构文档是一个好主意,因此我将XML粘贴到Visual Studio中并获取生成XSD的格式。
令人讨厌的是,我的XML无法验证所生成的XSD!
推出自己的XSD更好吗?
DTD,Relax NG或者Schematron等不同的架构文档又如何呢?
关键是我希望能够使用C#验证我的文档。
XML验证策略是什么?
解决方案
回答
我们将能够使用C#通过XML Schema或者DTD验证XML。与XML模式相比,DTD是较旧的标准。
因此,我建议使用XML Schema方法。
回答
是否选择XSD和/或者Schematron取决于我们要验证的内容。 XSD可能是最常见的验证策略,但是它可以验证的内容有限。如果我们要做的只是确保每个字段中都有正确的数据类型,XSD应该为我们工作。例如,如果我们需要断言<small>元素的值小于<big>元素的值,或者甚至是涉及多个字段的更复杂的业务规则,则可能需要Schematron或者混合方法。