【问题标题】:Can anyone explain XSD versions谁能解释 XSD 版本
【发布时间】:2018-05-07 10:34:10
【问题描述】:

我正在编写 XSD 架构和 C# 代码来读取 XML 文件并针对 XSD 进行验证:

XmlDocument myDocument = new XmlDocument();    
XmlReaderSettings xmlReaderSettings = new XmlReaderSettings();
xmlReaderSettings.ValidationType = ValidationType.Schema;
xmlReaderSettings.Schemas.Add(null, "MyXsd.xsd");
using (XmlReader xmlReader = XmlReader.Create("MyXml", xmlReaderSettings))
{
    myDocument.Load(xmlReader);
}

我对 XSD 不是很有经验,所以我指的是各种网站寻求帮助,但我不断遇到诸如“这将在 XSD1.0 但不适用于 XSD1.1”或“与 XSD2 .0 这样做”。有人可以解释我如何知道或指定将使用哪个版本的 XSD。我正在使用 VS2012 - 我什至不知道这是否相关。

【问题讨论】:

  • @jdweng:W3C,但有趣的是,如果 XSD 起源于 IEEE,它可能会有什么不同。 ;-)
  • W3C 不是 IEEE 分委员会吗?
  • @jdweng:不。你可能会看到不同领域的联合工作组或活动,但它们是独立的组织,IEEE 与 XSD 的开发无关。

标签: c# xml visual-studio-2012 xsd


【解决方案1】:

通常的答案会声明需要 XSD 1.1 才能表达需要 assertionsconditional type assignment 的约束,但还有许多其他 improvements from XSD 1.0 to 1.1 as well

.NET 仅支持 XSD 1.0。将 Saxon 用于 .NET(和 Java)中的 XSD 1.1 支持。

【讨论】:

  • ".NET 仅支持 XSD 1.0" - 就是这样!谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-19
  • 2017-04-07
  • 2015-12-21
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多