Я скачал официальную "схему xsd" с http://www.w3.org/2001/XMLSchema.xsd.
Я сохранил его локально и попытался проверить с помощью этого кода:
var sc = XmlSchema.Read(new FileStream(@"c:\temp\xsd.xsd", FileMode.Open), validate);
sc.Compile(validate);
Не удалось, за исключением того, что не удалось найти DTD.
Вопрос № 1 : Почему схема xsd содержит определение, которое не может обрабатывать валидаторы xml?
Я удалил определение DTD из верхней части файла и получил (и многие другие) ошибки проверки:
"Restriction of 'anySimpleType' is not allowed."
Вопрос № 2 : Почему компиляция схемы xsd не удалась?
Я пробовал то же самое с XmlSchemaSet, используя set.Add (...) и , это работало .
Вопрос № 3 : В чем разница между проверкой XmlSchema и XmlSchemaSet?
Затем я создаю фиктивную схему, которая импортирует схему xsd с диска:
<s:import namespace="http://www.w3.org/2001/XMLSchema" schemaLocation="c:\temp\xsd.xsd" />
Когда я добавляю эту схему в набор схем, она снова выходит из строя с теми же ошибками, что и выше.
Вопрос № 4 : Чем это отличается от непосредственного добавления схемы xsd (которая работала)?