title: Need some help with my XML Schema
body: <p>I'm using Qt C++ and am reading in an XML file for data. I want to ensure the XML file contains valid elements, so I began to write an XML Schema to validate against (Qt doesn't support validating against a DTD). The problem is, I'm not sure if my Schema itself is valid, and I can't seem to find an actual XSD validator. I tried using the official w3c validator at <a href="http://www.w3.org/2001/03/webdata/xsv" rel="nofollow noreferrer">http://www.w3.org/2001/03/webdata/xsv</a>, but it's giving me blank output. Would anyone know of a decent XSD validator, or perhaps be willing to look over the following manually? </p>
  
  <pre><code>    &lt;?xml version="1.0"?&gt;
  &lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"&gt;
  &lt;xs:element name="ballot"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="races"&gt;
          &lt;xs:complexType&gt;
            &lt;xs:element name="race" minOccurs="1" maxOccurs="unbounded"&gt;
              &lt;xs:complexType&gt;
                &lt;xs:sequence&gt;
                  &lt;xs:element name="rtitle" minOccurs="1" maxOccurs="1" type="xs:string"/&gt;
                  &lt;xs:element name="candidates" minOccurs="1" maxOccurs="1"&gt;
                    &lt;xs:complexType&gt;
                      &lt;xs:element name="candidate" minOccurs="1" maxOccurs="10"&gt;
                        &lt;xs:complexType&gt;
                          &lt;xs:element name="candname" minOccurs="1" maxOccurs="1" type="xs:string"/&gt;
                          &lt;xs:element name="candparty" minOccurs="1" maxOccurs="1" type="xs:string"/&gt;
                        &lt;/xs:complexType&gt;
                      &lt;/xs:element&gt;
                    &lt;/xs:complexType&gt;
                  &lt;/xs:element&gt;
                &lt;/xs:sequence&gt;
              &lt;/xs:complexType&gt;
            &lt;/xs:element&gt;
          &lt;/xs:complexType&gt;
        &lt;/xs:element&gt;
        &lt;xs:element name="propositions"&gt;
            &lt;xs:complexType&gt;
                &lt;xs:element name="proposition" minOccurs="1" maxOccurs="unbounded"&gt;
                    &lt;xs:complexType&gt;
                        &lt;xs:element name="ptitle" minOccurs="1" maxOccurs="1" type="xs:string"/&gt;
                        &lt;xs:element name="pdesc" minOccurs="1" maxOccurs="1" type="xs:string"/&gt;
                    &lt;/xs:complexType&gt;              
                &lt;/xs:element&gt;
            &lt;/xs:complexType&gt;
         &lt;/xs:element&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;
  &lt;/xs:schema&gt;
  </code></pre>
  
  <p>Please let me know what you think, I appreciate it!</p>