Ceci est le format DTD:
<!ELEMENT op ((var, var+) | (op, op+) | (var, op+,var*) | (var*, op+, var)) >

Je voudrais l'avoir en XMLSchema si possible, j'ai essayé de la façon suivante mais ça ne marche pas! Je vous prie de bien vouloir m'aider
Description de l'erreur:
E [Xerces] cos-nonambig: op and op (or elements from their substitution group) violate "Unique Particle Attribution". During validation against this schema, ambiguity would be created for those two particles.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 <xs:group name="op1">
     <xs:sequence>
        <xs:element ref="op" minOccurs="2" maxOccurs="unbounded">  </xs:element>
     </xs:sequence>
   </xs:group>
    
    <xs:group name="op2">
        <xs:sequence>
            <xs:element ref="var" minOccurs="2" maxOccurs="unbounded"></xs:element>
        </xs:sequence>
    </xs:group>
    
    <xs:group name="op3">
        <xs:sequence>
            <xs:element ref="var"></xs:element>
            <xs:element ref="op" maxOccurs="unbounded"></xs:element>
            <xs:element ref="var" minOccurs="0" maxOccurs="unbounded"></xs:element>
        </xs:sequence>
    </xs:group>
    
    <xs:group name="op4">
        <xs:sequence>
            <xs:element ref="var" minOccurs="0" maxOccurs="unbounded"></xs:element>
            <xs:element ref="op" maxOccurs="unbounded"></xs:element>
            <xs:element ref="var"></xs:element>
        </xs:sequence>
    </xs:group>
    
    <xs:element name="op">
       <xs:complexType>
        <xs:choice>
            <xs:group ref="op1"></xs:group>
            <xs:group ref="op2"></xs:group>
            <xs:group ref="op3"></xs:group>
            <xs:group ref="op4"></xs:group>
        </xs:choice>
          <xs:attribute name="symbole" type="symboles_possibles"/>
       </xs:complexType>
    </xs:element>
  
      <xs:element name="var">
           <xs:complexType >
               <xs:attribute name="nom" type="xs:string"></xs:attribute>
           </xs:complexType>
      </xs:element>
    
      <xs:simpleType name="symboles_possibles">
          <xs:restriction base="xs:string">
              <xs:pattern value="[+*/-]"></xs:pattern>
          </xs:restriction>
      </xs:simpleType>