XSD
Измените
xmlns:xs="http://www.w3.org/2001/XMLSchema games.xsd"
на
xmlns:xs="http://www.w3.org/2001/XMLSchema"
, потому что последнее является фактическим определением пространства имен XMLSchema, а первое, похоже, ошибочно попытаться следовать форме атрибута schemaLocation
.
Удалите следующее:
xmlns="http://tempuri.org/XMLSchema.xsd"
xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
, потому что пространство имен XSD по умолчанию не должно быть http://tempuri.org/XMLSchema.xsd
и потому что mstns
объявление префикса пространства имен не требуется.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
targetNamespace="http://tempuri.org"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="games">
<xs:complexType>
<xs:sequence>
<xs:element name="game" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="title" type="xs:string"/>
<xs:element name="platform" type="xs:string"/>
<xs:element name="desc" type="xs:string"/>
<xs:element name="img" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XML
Замените
xmlns="http://tempuri.org/"
на
xmlns="http://tempuri.org"
, чтобы соответствовать как targetNamespace
в XSD и schemaLocation
в XML.
<?xml version="1.0" encoding="utf-8"?>
<games
xmlns="http://tempuri.org"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tempuri.org games.xsd">
<game>
<title>Red Dead Redeption Two</title>
<platform>Xbox One</platform>
<desc>Red Dead Redeption Two is a western action adventure game</desc>
<img>Cover.png</img>
</game>
</games>
После внесения вышеуказанных изменений ваш XML будет успешно проверен на соответствие вашему XSD.