自定义 XML 文档的验证模式
Posted
技术标签:
【中文标题】自定义 XML 文档的验证模式【英文标题】:Validation Patterns for Custom XML Documents 【发布时间】:2010-09-06 04:58:44 【问题描述】:我有一个 Web 应用程序,它生成一个中等大小的 XML 数据集,供第三方使用。 我认为为我生成的 XML 提供某种形式的架构文档是个好主意,因此我将 XML 粘贴到 Visual Studio 并让它生成 XSD。 烦人的是我的 XML 没有验证生成的 XSD!
推出自己的 XSD 会更好吗? 不同的模式文档(如 DTD、Relax NG 或 Schematron)呢?
关键是我希望能够使用 C# 验证我的文档。
您的 XML 验证策略是什么?
【问题讨论】:
【参考方案1】:您是否选择 XSD 和/或 Schematron 取决于您要验证的内容。 XSD 可能是最常见的验证策略,但它可以验证的内容是有限的。如果您只想确保每个字段中的数据类型正确,那么 XSD 应该适合您。例如,如果您需要断言 元素的值小于 元素的值,或者甚至涉及多个字段的更复杂的业务规则,您可能需要 Schematron 或混合方法。
【讨论】:
【参考方案2】:您将能够使用 XML Schema 或使用 C# 的 DTD 来验证您的 XML。与 XML Schema 相比,DTD 是较旧的标准。
所以,我推荐一种 XML Schema 方法。
【讨论】:
以上是关于自定义 XML 文档的验证模式的主要内容,如果未能解决你的问题,请参考以下文章
如何为 validation-constraints.xml 中定义的验证注册自定义 ConstraintMapping