Я использую Qt C ++ и читаю данные в файле XML. Я хочу убедиться, что файл XML содержит допустимые элементы, поэтому я начал писать схему XML для проверки (Qt не поддерживает проверку по DTD). Проблема в том, что я не уверен, что сама моя схема действительна, и я не могу найти фактический валидатор XSD. Я попытался использовать официальный валидатор w3c на http://www.w3.org/2001/03/webdata/xsv,, но он выдает пустой вывод. Кто-нибудь знает о приличном валидаторе XSD или, возможно, захочет просмотреть следующее вручную?
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="ballot">
<xs:complexType>
<xs:sequence>
<xs:element name="races">
<xs:complexType>
<xs:element name="race" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="rtitle" minOccurs="1" maxOccurs="1" type="xs:string"/>
<xs:element name="candidates" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:element name="candidate" minOccurs="1" maxOccurs="10">
<xs:complexType>
<xs:element name="candname" minOccurs="1" maxOccurs="1" type="xs:string"/>
<xs:element name="candparty" minOccurs="1" maxOccurs="1" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
<xs:element name="propositions">
<xs:complexType>
<xs:element name="proposition" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:element name="ptitle" minOccurs="1" maxOccurs="1" type="xs:string"/>
<xs:element name="pdesc" minOccurs="1" maxOccurs="1" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
Пожалуйста, дайте мне знать, что вы думаете, я ценю это!