title: How do I define a group of attributes to reuse in empty and non-empty elements?
body: <p>I want to define a schema that supports elements like this:</p>
  
  <pre><code>&lt;one att1="foo" att2="bar"/&gt;
  &lt;two att1="foo" att2="bar"&gt;TEXT&lt;/two&gt;
  &lt;three att1="Foo" att2="bar" att3="baz"/&gt;
  </code></pre>
  
  <p>How do I define a type hierarchy to encompass att1 and att2?</p>
  
  <pre><code>&lt;complexType name="Att"&gt;
      &lt;attribute name="att1" type="string"/&gt;
      &lt;attribute name="att2" type="string"/&gt;
  &lt;/complexType&gt;
  
  &lt;complexType name="One"&gt;
      &lt;complexContent&gt;
          &lt;extension base="tns:Att"/&gt;
      &lt;/complexContent&gt;
  &lt;/complexType&gt;
  
  
  &lt;complexType name="Two"&gt;
      &lt;simpleContent&gt;
          &lt;extension base="tns:Att"/&gt;
      &lt;/simpleContent&gt;
  &lt;/complexType&gt;
  
  &lt;complexType name="Three"&gt;
      &lt;complexContent&gt;
          &lt;extension base="tns:Att"&gt;
              &lt;attribute name="att3" type="string"/&gt;
          &lt;/extension&gt;
      &lt;/complexContent&gt;
  &lt;/complexType&gt;
  </code></pre>
  
  <p>That doesn't work for Two, and I get errors about extending complexContent with simpleContent</p>