C# 有人能解释XSD版本吗

C# 有人能解释XSD版本吗,c#,xml,visual-studio-2012,xsd,C#,Xml,Visual Studio 2012,Xsd,我正在编写XSD模式和C#代码来读取XML文件并根据XSD进行验证: XmlDocument myDocument = new XmlDocument(); XmlReaderSettings xmlReaderSettings = new XmlReaderSettings(); xmlReaderSettings.ValidationType = ValidationType.Schema; xmlReaderSettings.Schemas.Add(null, "MyXsd.xsd

我正在编写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——我甚至不知道这是否相关。

通常的答案会说明XSD 1.1是必需的,以便表达需要or的约束,但还有许多其他约束


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

请访问IEEE网站:@jdweng:W3C,但有兴趣思考一下,如果XSD起源于IEEE,它可能会有什么不同。;-)W3C不是IEEE的一个小组委员会吗?@jdweng:不是。你可能会看到在不同领域的联合工作组或活动,但它们是独立的组织,IEEE与XSD的开发无关。“.NET只支持XSD 1.0”-那么就是这样了!谢谢