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