Sukram: XSD-Erstellung bereitet mir Probleme

Hallo,
es geht um folgenden Aufbau eines XML Dokuments, für das ich zum Zwecke der Validierung eine  Schemadatei erstellen möchte.
<test></test> kann dabei beliebig oft vorkommen. Das beinhaltete <param></param> muss jeweils mit "name" "first", "second", "third" und "fourth" vorkommen, egal in welcher Reihenfolge. Die restlichen Anforderungen stehen in dem folgenden XML-Dokument:

  
<testxml>  
  <test id="0">//id ist vom Wert integer angefangen bei 0 bis unendlich  
    <param name="first">ab</param> //string max. 2 Zeichen  
    <param name="second">bla</param> //string  
    <param name="third">10</param>//positiveInteger von min. 1 - max. 10  
    <param name="fourth">test2</param>//string mit den festen Werten test1 o. test2 o. test3 o. test4.  
  </test>  
  <test id="1">  
    <param name="first">11</param>  
    <param name="third">3</param>  
    <param name="second">blub</param>  
    <param name="fourth">test4</param>  
  </test>  
  <test id="2">  
    <param name="fourth">test1</param>  
    <param name="first"></param>  
    <param name="second">blablub</param>  
    <param name="third">9</param>  
  </test>  
</testxml>

Meine bisheriger Entwurf:

  
<?xml version="1.0" encoding="UTF-8" ?>  
  
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">  
  <xs:element name="param">  
    <xs:complexType mixed="true">  
      <xs:attribute name="name" use="required">  
        <xs:simpleType>  
          <xs:restriction base="xs:NMTOKEN">  
            <xs:enumeration value="first" />  
            <xs:enumeration value="fourth" />  
            <xs:enumeration value="second" />  
            <xs:enumeration value="third" />  
          </xs:restriction>  
        </xs:simpleType>  
      </xs:attribute>  
    </xs:complexType>  
  </xs:element>  
  
  <xs:element name="test">  
    <xs:complexType mixed="true">  
      <xs:choice>  
        <xs:element ref="param" />  
      </xs:choice>  
      <xs:attribute name="id" type="xs:integer" use="required" />  
    </xs:complexType>  
  </xs:element>  
  
  <xs:element name="testxml">  
    <xs:complexType>  
      <xs:sequence>  
        <xs:element ref="test" maxOccurs="unbounded" />  
      </xs:sequence>  
    </xs:complexType>  
  </xs:element>  
  
</xs:schema>