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 :
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 <?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>
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,
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>
mais n'y aurait-il pas un moyen de contourner cela pour parvenir à forcer sa validation ?
Cordialement,
Partager