任何人都可以解释XSD版本

时间:2018-05-07 10:34:11

标签: 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");
using (XmlReader xmlReader = XmlReader.Create("MyXml", xmlReaderSettings))
{
    myDocument.Load(xmlReader);
}

我对XSD没有太多经验,所以我指的是各种各样的网站寻求帮助,但我不断遇到“这将在XSD1.0但不能在XSD1.1中工作”或“与XSD2一起使用”之类的东西.0这样做“。有人可以解释我如何知道或指定将使用什么版本的XSD。我正在使用VS2012 - 我甚至不知道这是否相关。

1 个答案:

答案 0 :(得分:1)

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

.NET仅支持XSD 1.0。在.NET(以及Java)中使用Saxon支持XSD 1.1。