Bonjour,

je souhaiterais utiliser un <xs:group> en le réferençant lors d'une utilisation récursive or l'élément qui contiendra la référence à ce groupe sera lui aussi référencé apr un autre élément au travers d'un autre groupe. Le soucis est que certains des élément de du premier groupe ne doivent se retrouver dans un élément du second groupe. Au final ça donne un truc du genre :

groupe A contient :
-element e
-element e1

group B contient :
-element i
-element i1

element e :
ref groupe A
ou
ref groupe B

element e1 :
ref groupe A
ou
ref groupe B mais souhaite exclure i1


Comment faire ? Merci d'avance

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
 
 
 
<xs:group name="A">
		<xs:choice>
			<xs:element name="e">
				<xs:complexType>
					<xs:sequence>
						<xs:choice>
							<xs:group ref="B"/>
                                                        <xs:group ref="A"/>
						</xs:choice>
						<xs:choice>
							<xs:group ref="B"/>
                                                        <xs:group ref="A"/>
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="e1">
				<xs:complexType>
					<xs:sequence>
						<xs:choice>
							<xs:group ref="B"/>
                                                        <xs:group ref="A"/>
			 		        </xs:choice>
						<xs:choice>
							<xs:group ref="B"/>
                                                        <xs:group ref="A"/>
						</xs:choice>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
		</xs:choice>
	</xs:group>
 
<xs:group name="B">
		<xs:choice>
			<xs:element name="i"/>
			<xs:element name="i1"/>
		</xs:choice>
</xs:group>