Bonjour,

Je dois respecter une spécification exigeant d'avoir plusieurs blocs xml portant le même nom.

Voici, ce que j'aimerais comme structure xml :

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
<?xml version="1.0" encoding="utf-8"?>
<xml>
<Content>
<libellenom>
 <ss_nom1 />
<ss_nom2>str1234</ss_nom2>
</libellenom>
<libellenom>
<ss_nom1 />
<ss_nom2 />
<ss_nom3 />
 <ss_nom4 />
    </libellenom>
    <libellenom>
      <ss_nom1 />
      <ss_nom2 />
    </libellenom>
  </Content>
</xml>
et voici une partie du schéma xsd :

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
	<!-- CONTENT -->
	<xs:complexType name="ContentType">
	<xs:sequence>
		<xs:element name="libellenom" type="type1" minOccurs="0" maxOccurs="unbounded"/>
		<xs:element name="libellenom" type="type2" minOccurs="0" maxOccurs="unbounded"/>
		<xs:element name="libellenom" type="type3" minOccurs="0" maxOccurs="unbounded"/>
	</xs:sequence>
	</xs:complexType>
 
	<xs:complexType name="type1">
		<xs:sequence>
			<xs:element name="ss_nom1" nillable="false"/>
			<xs:element name="ss_nom2" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
	</xs:complexType>
 
	<xs:complexType name="type2">
		<xs:sequence>
			<xs:element name="ss_nom1" nillable="false"/>
			<xs:element name="ss_nom2"/>
			<xs:element name="ss_nom3"/>
			<xs:element name="ss_nom4"/>
		</xs:sequence>
	</xs:complexType>
 
	<xs:complexType name="type3">
		<xs:sequence>
			<xs:element name="ss_nom1" nillable="false"/>
			<xs:element name="ss_nom2"/>
		</xs:sequence>
	</xs:complexType>
</xs:schema>
je ne parviens pas à valider ce schéma comme plusieurs éléments d'une même séquence portent le même nom et ne possédent pas le même type,
mais n'y aurait-il pas un moyen de contourner cela pour parvenir à forcer sa validation ?

Cordialement,