<!– 3.2.3 : 2.2

If ref is present, then all of <complexType>, <simpleType>, <key>, <keyref>, <unique>, 
nillable, default, fixed, form, block and type must be absent, i.e. only minOccurs, maxOccurs, 
id are allowed in addition to ref, along with <annotation>.

–> <schema xmlns=“www.w3.org/2001/XMLSchema” targetNamespace=“foo” xmlns:foo=“foo”>

<element name="bar" type="string"/>   

<element name="foo">
        <complexType>
              <choice>

                      <!-- The good ones. -->
                      <element ref="foo:bar" minOccurs="0"/>
                      <element ref="foo:bar" maxOccurs="0"/>
                      <element ref="foo:bar" id="myomy"/>

                      <!-- The bad ones. -->
                      <element ref="foo:bar">
                              <complexType>
                                      <attribute name="bar" type="string"/>
                              </complexType>
                      </element>

                      <element ref="foo:bar">
                              <simpleType>
                                      <restriction base="string">
                                              <maxLength value="20"/>
                                      </restriction>
                              </simpleType>
                      </element>  

                      <element ref="foo:bar" type="string"/>
                      <element ref="foo:bar" nillable="true"/>
                      <element ref="foo:bar" default="Joni"/>
                      <element ref="foo:bar" fixed="Mitchel"/>
                      <element ref="foo:bar" form="unqualified"/>
                      <element ref="foo:bar" block="restriction"/>                    

              </choice>
        </complexType>    
</element>

</schema>