title: XSD: How to restrict enumeration values of a derived complex type?
body: <p>Given the following example:</p>
  
  <pre><code>&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
      &lt;xs:complexType name="Book" abstract="true"&gt;
          &lt;xs:sequence&gt;
              &lt;xs:element name="titel" type="xs:string"&gt;
              &lt;/xs:element&gt;
              &lt;xs:element name="bookCode" type="BookEnum"/&gt;
          &lt;/xs:sequence&gt;
      &lt;/xs:complexType&gt;
      &lt;xs:complexType name="Lyric"&gt;
          &lt;xs:complexContent&gt;
              &lt;xs:extension base="Book"&gt;
                  &lt;xs:sequence&gt;
                      &lt;xs:element name="author" type="xs:string"&gt;
                      &lt;/xs:element&gt;
                  &lt;/xs:sequence&gt;
              &lt;/xs:extension&gt;
          &lt;/xs:complexContent&gt;
      &lt;/xs:complexType&gt;
      &lt;xs:simpleType name="BookEnum"&gt;
          &lt;xs:restriction base="xs:int"&gt;
              &lt;xs:enumeration value="Paperback"/&gt;
              &lt;xs:enumeration value="Hardcover"/&gt;
              &lt;xs:enumeration value="Liporello"/&gt;
              &lt;xs:enumeration value="None"/&gt;
          &lt;/xs:restriction&gt;
      &lt;/xs:simpleType&gt;
  &lt;/xs:schema&gt;
  </code></pre>
  
  <p>Lyric derives from Book. I would like to restrict the possible values of the BookEnum for the complexType "Lyric" to be "Paperback". </p>
  
  <p>"None", "Liporello" and "Hardcover" should no longer be valid values for "Lyric". can this be done in xsd?</p>