XSD Java 和 .NET C# 的 1.1 验证?

XSD 1.1 validation for both Java and .NET C#?

我有一个架构版本为 1.1 的 XSD,我想通过 .NET 和 Java.

以编程方式针对它验证 XML

在 .NET 中,我使用 XmlSchemaSet class 来验证 XML 与 XSD,但它抛出以下异常:

`System.Xml.Schema.XmlSchemaException: The 'http://www.w3.org/2001/XMLSchema:assert' element is not supported in this context.

所以我猜 .NET 仍然支持 XSD 1.0 而不支持 XSD 1.1 ?

正确,.NET 支持 XSD 1.0,而不是 XSD 1.1。您可以使用 Xerces to validate XML against XSD 1.1 in Java,但在 .NET 上没有支持 XSD 1.1 的免费库。

要在 .NET 上使用 XSD 1.1 验证 XML,您需要 Saxon EE(完整产品)或 EE-V(验证包)的商业许可证。请注意,Saxon 许可证将允许您在 .NET 和 Java 平台上使用该库。有关详细信息,请参阅 Saxonica 的 product page, feature matrix, and licensing