我有一个 Web 应用程序,它生成一个中等大小的 XML 数据集,供第三方使用。
我认为为我生成的 XML 提供某种形式的架构文档是个好主意,因此我将 XML 粘贴到 Visual Studio 中并让它生成 XSD。
烦人的是我的 XML 没有验证生成的 XSD!
推出自己的 XSD 会更好吗?
不同的模式文档(如 DTD、Relax NG 或 Schematron)呢?
关键是我希望能够使用 C# 验证我的文档。
您的 XML 验证策略是什么?
我有一个 Web 应用程序,它生成一个中等大小的 XML 数据集,供第三方使用。
我认为为我生成的 XML 提供某种形式的架构文档是个好主意,因此我将 XML 粘贴到 Visual Studio 中并让它生成 XSD。
烦人的是我的 XML 没有验证生成的 XSD!
推出自己的 XSD 会更好吗?
不同的模式文档(如 DTD、Relax NG 或 Schematron)呢?
关键是我希望能够使用 C# 验证我的文档。
您的 XML 验证策略是什么?
Whether you choose XSD and/or Schematron depends on what you are trying to validate. XSD is probably the most common validation strategy, but there are limits on what it can validate. If all you want to do is ensure that the right type of data is in each field, XSD should work for you. If you need to assert, for example, that the value of the <small> element is less than the value of the <big> element, or even more complex business rules involving multiple fields, you probably want Schematron or a hybrid approach.
您将能够使用 XML Schema 或使用 C# 的 DTD 来验证您的 XML。与 XML 模式相比,DTD 是较旧的标准。
所以,我推荐一种 XML Schema 方法。