自定义 XML 文档的验证模式

Validation Patterns for Custom XML Documents

提问人:Scott Muc 提问时间:8/20/2008 最后编辑:csharpwinphonexamlScott Muc 更新时间:5/5/2014 访问量:1067

问:

我有一个 Web 应用程序,它生成一个中等大小的 XML 数据集供第三方使用。
我认为为我生成的 XML 提供某种形式的架构文档是个好主意,因此我将 XML 粘贴到 Visual Studio 中并让它生成 XSD。
令人讨厌的是,我的XML无法验证生成的XSD!

推出自己的 XSD 更好吗?
DTD、Relax NG 或 Schematron 等不同的模式文档呢?

关键是我希望能够使用 C# 验证我的文档。

您的 XML 验证策略是什么?

C# XML Visual-Studio 架构

评论


答:

0赞 Vaibhav 8/20/2008 #1

您将能够使用 C# 使用 XML 架构或 DTD 验证 XML。与 XML 架构相比,DTD 是较旧的标准。

因此,我推荐使用 XML 架构方法。

5赞 Nicholas Trandem 8/20/2008 #2

是否选择 XSD 和/或 Schematron 取决于您尝试验证的内容。XSD 可能是最常见的验证策略,但它可以验证的内容是有限制的。如果您只想确保每个字段中都有正确的数据类型,那么 XSD 应该适合您。例如,如果您需要断言 <small> 元素的值小于 <big> 元素的值,或者甚至需要涉及多个字段的更复杂的业务规则,您可能需要 Schematron 或混合方法。