Project

Profile

Help

Bug #4445 » schema.xsd

schema xsd - Mathieu Bergonzini, 2020-01-29 10:02

 
1
<?xml version="1.0" encoding="UTF-8"?>
2
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
3
        attributeFormDefault="unqualified" targetNamespace="http://www.xml.insee.fr/ns/coltrane"
4
        xmlns="http://www.xml.insee.fr/ns/coltrane" xmlns:co="http://www.xml.insee.fr/ns/coltrane"
5
        xmlns:xhtml="http://www.w3.org/1999/xhtml" vc:minVersion="1.1"
6
        xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning">
7
        <xsd:import namespace="http://www.w3.org/1999/xhtml" schemaLocation="xhtml.xsd"/>
8
        
9

    
10
    <xsd:annotation>
11
        <xsd:documentation> Schéma pour la validation des fichiers de personnalisation de Coltrane.
12
            Détails des mises à jour :
13
            - 02/09/2019 - Guylène Tandeau - Suite à la création d'un nouveau courrier pour accompagner les questionnaires, ajout de la balise Courrier = Accompagnement en imposant :
14
                    -- si balise Courrier = Accompagnement, alors Questionnaire = Oui
15
                    -- si Questionnaire = Oui alors Courrier = Ouverture, Relance, MED, MEDAR, CNR, CNRAR ou Accompagnement
16
                                           - correction de bug : le schéma refuse un courrier Entrée avec un mail Ouverture alors qu'il ne devrait pas (test écrit avec le critère Entrée au lieu de Entrée)
17
            - 29/04/2019 - Guylène Tandeau - restriction du test [Courrier=(Ouverture ou Entrée)=>1 seule vague] à [Courrier=(Ouverture ou Entrée) et Questionnaire=Non=>1 seule vague] (suite à demande pour ESA)
18
            - 06/03/2019 - Guylène Tandeau - ajout de la modalité "association" à la liste des possibilités pour LabelUniteEnquetee.
19
            - 04/02/2019 - Guylène Tandeau - ajout des idPeriode B01 à B06 pour les enquêtes bimensuelles
20
            - 30/10/2018 - Mathieu Bergonzini - ajout de l'adresse dans la balise Gestionnaires
21
            - 01/10/2018 - Ophélie Rogel - ajout d'une minOccurs="0" sur le contenu de Groupe pour permettre les Groupe vides pour l'ESA.
22
            - 21/08/2018 - Ophélie Rogel - Ajout des contraintes suite au nouveau type de traitement Mise à jour 
23
                (contrainte sur balise dans Traitement, dans l'UE (seul Identifiant obligatoire) et dans le Contact : IdeC non vide si modification)
24
            - 09/08/2018 - Ophélie Rogel - Ajout de contraintes sur le
25
            <CodeCedex/> : vide ou de longueur 5 avec caractères : 0-9 A-Z + Ajout 0-9 A-Z dans <CodePostal/> 
26
            - 06/06/2018 - Ophélie Rogel - Interdiction du " dans les libellés des RS
27
            et dans l'adresse (évite les problèmes des " non pairs) 
28
            - 23/04/2018 - Ophélie Rogel -
29
            Initialisation à partir du schéma complexe d'Eric Sigaud. </xsd:documentation>
30
    </xsd:annotation>
31

    
32
    <!--********************************************** 
33
        Eléments racine : Campagne et Traitement
34
        **********************************************-->
35

    
36
    <xsd:element name="Campagne">
37
        <xsd:annotation>
38
            <xsd:documentation> Elément de plus haut niveau pour les fichiers de personnalisation.
39
            </xsd:documentation>
40
        </xsd:annotation>
41
        <xsd:complexType>
42
            <xsd:sequence>
43
                <xsd:element name="Traitement" type="typeTraitementCampagne" minOccurs="1"
44
                    maxOccurs="1"/>
45
                <xsd:element ref="Questionnaires" minOccurs="1" maxOccurs="1">
46
                    <xsd:annotation>
47
                        <xsd:documentation> Conteneur pour les "questionnaires" de
48
                            l'échantillon.</xsd:documentation>
49
                    </xsd:annotation>
50
                </xsd:element>
51
            </xsd:sequence>
52

    
53
            <xsd:attribute name="idSource" type="xsd:string" use="required">
54
                <xsd:annotation>
55
                    <xsd:documentation>Identifiant Coltrane de la source.</xsd:documentation>
56
                </xsd:annotation>
57
            </xsd:attribute>
58

    
59
            <xsd:attribute name="millesime" use="required">
60
                <xsd:annotation>
61
                    <xsd:documentation>Millésime Coltrane de la campagne ( soit l'année de collecte
62
                        ou dans le cas d'une campagne à cheval sur deux années, la première).
63
                    </xsd:documentation>
64
                </xsd:annotation>
65
                <xsd:simpleType>
66
                    <xsd:restriction base="xsd:int">
67
                        <xsd:minInclusive value="2010"/>
68
                        <xsd:maxInclusive value="2100"/>
69
                    </xsd:restriction>
70
                </xsd:simpleType>
71
            </xsd:attribute>
72

    
73
            <xsd:attribute name="idPeriode" type="typeIdCampagne" use="required">
74
                <xsd:annotation>
75
                    <xsd:documentation>Identifiant de la période de la campagne.</xsd:documentation>
76
                </xsd:annotation>
77
            </xsd:attribute>
78

    
79
            <xsd:attribute name="natureOperation" fixed="import">
80
                <xsd:annotation>
81
                    <xsd:documentation>Cet attribut est "technique". Il permet de distinguer les
82
                        fichiers d'import de données (valeur="import" dans le cas d'un fichier de
83
                        personnalisation) des autres fichiers en entrée ou en sortie de
84
                        Coltrane.</xsd:documentation>
85
                </xsd:annotation>
86
            </xsd:attribute>
87
            <xsd:assert
88
                test="
89
                if (co:Traitement/co:Courrier = ('Ouverture', 'Entrée') and co:Traitement/co:Questionnaire = 'Non') then
90
                        (count(distinct-values(co:Questionnaires//co:Questionnaire/@idVague)) = 1)
91
                    else
92
                        (true())">
93
                <xsd:annotation>
94
                    <xsd:documentation>Dans le cas d'un courrier d'ouverture ou d'entrée, il faut que le fichier
95
                        ne contienne qu'une seule vague (la date d'édition est calculée suivant la
96
                        date d'ouverture de la vague dans Campagne.xml et elle doit être
97
                        unique).</xsd:documentation>
98
                </xsd:annotation>
99
            </xsd:assert>
100
            <xsd:assert
101
                test="
102
                if (co:Traitement/co:Type = ('Initialisation', 'Edition')) then 
103
                (not(co:Questionnaires//co:Questionnaire[not(@idVague) or not(@idModele)]))
104
                else
105
                (true())">
106
                <xsd:annotation>
107
                    <xsd:documentation>Présence obligatoire de la balise idVague et idModele dans le
108
                        cas d'une ouverture ou d'un courrier.</xsd:documentation>
109
                </xsd:annotation>   
110
            </xsd:assert>
111
            <xsd:assert
112
                test="
113
                if (co:Traitement/co:Type = ('Initialisation', 'Edition')) then
114
                (not(co:Questionnaires/co:Questionnaire/co:InformationsGenerales//co:UniteEnquetee[not(co:Siren) or not(co:RaisonSociale) or not(co:Adresse) or not(co:LabelUniteEnquetee)]))
115
                else
116
                (true())">
117
                <xsd:annotation>
118
                    <xsd:documentation>Présence obligatoire de toutes les balises pour l'unité enquêtée dans le cas d'une ouverture ou d'un courrier.</xsd:documentation>
119
                </xsd:annotation>   
120
            </xsd:assert>
121
        </xsd:complexType>
122
        
123
    </xsd:element>
124

    
125
    <xsd:complexType name="typeTraitementCampagne">
126
        <xsd:annotation>
127
            <xsd:documentation> Elément technique utilisé pour piloter la chaîne batch Coltrane.
128
                Pour tous les croisements possibles, se référer à la note Coltrane : N°209/DG75-E220
129
                du 16 avril 2018 : offre Courriers, mails et questionnaires – Annule et remplace la
130
                note 747/DG75-E220 du 7 novembre 2017 </xsd:documentation>
131
        </xsd:annotation>
132
        <xsd:sequence>
133
            <xsd:element name="Type" minOccurs="1" maxOccurs="1">
134
                <xsd:annotation>
135
                    <xsd:documentation> L'élément est déclaré localement plutôt que globalement, car
136
                        son nom est générique et peut créer des conflits ultérieurement (le nom du
137
                        type associé est lui spécifique). </xsd:documentation>
138
                </xsd:annotation>
139
                <xsd:simpleType>
140
                    <xsd:restriction base="xsd:string">
141
                        <xsd:enumeration value="Initialisation"/>
142
                        <xsd:enumeration value="Edition"/>
143
                        <xsd:enumeration value="Mise à jour"/>
144
                    </xsd:restriction>
145
                </xsd:simpleType>
146
            </xsd:element>
147
            <xsd:element name="Courrier" minOccurs="0" maxOccurs="1">
148
                <xsd:annotation>
149
                    <xsd:documentation> L'élément est déclaré localement plutôt que globalement, car
150
                        son nom est générique et peut créer des conflits ultérieurement (le nom du
151
                        type associé est lui spécifique). </xsd:documentation>
152
                </xsd:annotation>
153
                <xsd:simpleType>
154
                    <xsd:restriction base="xsd:string">
155
                        <xsd:enumeration value="Ouverture"/>
156
                        <xsd:enumeration value="CNR"/>
157
                        <xsd:enumeration value="MED"/>
158
                        <xsd:enumeration value="CNRAR"/>
159
                        <xsd:enumeration value="MEDAR"/>
160
                        <xsd:enumeration value="Remerciement"/>
161
                        <xsd:enumeration value="Entrée"/>
162
                        <xsd:enumeration value="Relance"/>
163
                        <xsd:enumeration value="Sans"/>
164
                        <xsd:enumeration value="Accompagnement"/>
165
                    </xsd:restriction>
166
                </xsd:simpleType>
167
            </xsd:element>
168
            <xsd:element name="Mail" minOccurs="0" maxOccurs="1">
169
                <xsd:annotation>
170
                    <xsd:documentation> L'élément est déclaré localement plutôt que globalement, car
171
                        son nom est générique et peut créer des conflits ultérieurement (le nom du
172
                        type associé est lui spécifique). </xsd:documentation>
173
                </xsd:annotation>
174
                <xsd:simpleType>
175
                    <xsd:restriction base="xsd:string">
176
                        <xsd:enumeration value="Ouverture"/>
177
                        <xsd:enumeration value="Relance"/>
178
                        <xsd:enumeration value="Sans"/>
179
                    </xsd:restriction>
180
                </xsd:simpleType>
181
            </xsd:element>
182
            <xsd:element name="Questionnaire" minOccurs="0" maxOccurs="1">
183
                <xsd:annotation>
184
                    <xsd:documentation> L'élément est déclaré localement plutôt que globalement, car
185
                        son nom est générique et peut créer des conflits ultérieurement (le nom du
186
                        type associé est lui spécifique). </xsd:documentation>
187
                </xsd:annotation>
188
                <xsd:simpleType>
189
                    <xsd:restriction base="xsd:string">
190
                        <xsd:enumeration value="Oui"/>
191
                        <xsd:enumeration value="Non"/>
192
                    </xsd:restriction>
193
                </xsd:simpleType>
194
            </xsd:element>
195
        </xsd:sequence>
196
        <xsd:assert
197
            test="
198
                if (co:Type = ('Edition')) then
199
                    (not(co:Courrier = ('Sans') and co:Mail = ('Sans')))
200
                else
201
                    (true())">
202
            <xsd:annotation>
203
                <xsd:documentation> Pas d'édition de rien.</xsd:documentation>
204
            </xsd:annotation>
205
        </xsd:assert>
206
        <xsd:assert
207
            test="
208
            if (co:Type = ('Initialisation','Edition')) then
209
            ((co:Courrier and co:Mail and co:Questionnaire))
210
            else
211
            (true())">
212
            <xsd:annotation>
213
                <xsd:documentation> Les quatre balises sont obligatoire dans le cas d'une édition ou d'une initialisation.</xsd:documentation>
214
            </xsd:annotation>
215
        </xsd:assert>
216
        <xsd:assert
217
            test="
218
                if (co:Mail = ('Ouverture') or co:Courrier = ('Ouverture', 'Entrée')) then
219
                    (co:Courrier = ('Ouverture', 'Entrée', 'Sans') and co:Mail = ('Ouverture', 'Sans'))
220
                else
221
                    (true())">
222
            <xsd:annotation>
223
                <xsd:documentation> Correspondance entre Mail et Courrier pour
224
                    l'ouverture.</xsd:documentation>
225
            </xsd:annotation>
226
        </xsd:assert>
227
        <xsd:assert
228
            test="
229
                if (co:Mail = ('Relance') or co:Courrier = ('Relance')) then
230
                    (co:Courrier = ('Relance', 'Sans') and co:Mail = ('Relance', 'Sans'))
231
                else
232
                    (true())">
233
            <xsd:annotation>
234
                <xsd:documentation>Correspondance entre Mail et Courrier pour la
235
                    relance.</xsd:documentation>
236
            </xsd:annotation>
237
        </xsd:assert>
238
        <xsd:assert
239
            test="
240
                if (co:Type = ('Initialisation')) then
241
                (co:Courrier = ('Ouverture', 'Entrée', 'Sans') and co:Mail = ('Sans', 'Ouverture'))
242
                else
243
                    (true())">
244
            <xsd:annotation>
245
                <xsd:documentation>Une initialisation ne peut être accompagnée que de courrier et
246
                    mail concernant l'ouverture.</xsd:documentation>
247
            </xsd:annotation>
248
        </xsd:assert>
249
        <xsd:assert
250
            test="
251
                if (co:Type = 'Initialisation' and co:Courrier = 'Sans') then
252
                    (co:Questionnaire = 'Non')
253
                else
254
                    (true())">
255
            <xsd:annotation>
256
                <xsd:documentation>Si pas de courrier d'ouverture, pas de génération de
257
                    questionnaire pdf.</xsd:documentation>
258
            </xsd:annotation>
259
        </xsd:assert>
260
        <xsd:assert
261
            test="
262
                if (co:Type = 'Edition' and co:Courrier = 'Sans' and co:Mail = 'Relance') then
263
                    (co:Questionnaire = 'Non')
264
                else
265
                    (true())">
266
            <xsd:annotation>
267
                <xsd:documentation>Si pas de questionnaire si mail de relance.</xsd:documentation>
268
            </xsd:annotation>
269
        </xsd:assert>
270
        <xsd:assert
271
            test="
272
                if (co:Courrier = ('MED', 'MEDAR', 'CNR', 'CNRAR')) then
273
                    (co:Mail = 'Sans')
274
                else
275
                    (true())">
276
            <xsd:annotation>
277
                <xsd:documentation>Pas de mail si on est dans le cas d'une mise en demeure ou d'un
278
                    constat de non réponse.</xsd:documentation>
279
            </xsd:annotation>
280
        </xsd:assert>
281
        <xsd:assert
282
            test="
283
                if (co:Courrier = ('Remerciement')) then
284
                    (co:Mail = 'Sans' and co:Questionnaire = 'Non')
285
                else
286
                    (true())">
287
            <xsd:annotation>
288
                <xsd:documentation>Dans le cas d'un courrier de Remerciement, pas de génération de
289
                    questionnaire et pas de mail possible.</xsd:documentation>
290
            </xsd:annotation>
291
        </xsd:assert>
292
        <xsd:assert
293
            test="
294
            if (co:Courrier = ('Accompagnement')) then (co:Questionnaire = 'Oui')
295
            else
296
            (true())">
297
            <xsd:annotation>
298
                <xsd:documentation>Dans le cas d'un courrier d'accompagnement, il y a forcément un questionnaire.</xsd:documentation>
299
            </xsd:annotation>
300
        </xsd:assert>
301
        <xsd:assert
302
            test="
303
            if (co:Questionnaire = ('Oui')) then (co:Courrier = ('Ouverture', 'Relance', 'MED', 'MEDAR', 'CNR', 'CNRAR', 'Accompagnement'))
304
            else
305
            (true())">
306
            <xsd:annotation>
307
                <xsd:documentation>S'il y a un questionnaire, il y a un courrier d'ouverture, de relance, de MED, de MEDAR, de CNR, de CNRAR ou d'accompagnement.</xsd:documentation>
308
            </xsd:annotation>
309
        </xsd:assert>
310
    </xsd:complexType>
311

    
312

    
313
    <!--**********************************************
314
        Eléments structurels : InformationsGenerales 
315
        **********************************************-->
316

    
317
    <xsd:element name="Questionnaires">
318
        <xsd:annotation>
319
            <xsd:documentation>Conteneur pour des Questionnaires.</xsd:documentation>
320
        </xsd:annotation>
321
        <xsd:complexType>
322
            <xsd:sequence>
323
                <xsd:element ref="Questionnaire" minOccurs="1" maxOccurs="unbounded"/>
324
            </xsd:sequence>
325
        </xsd:complexType>
326
        <xsd:unique name="IdentifiantUE">
327
            <xsd:annotation>
328
                <xsd:documentation>Règle d'unicité d'un identifiant UE sur l'ensemble des
329
                    <Questionnaire/> d'un même fichier</xsd:documentation>
330
            </xsd:annotation>
331
            <xsd:selector xpath="co:Questionnaire/co:InformationsGenerales/co:UniteEnquetee"/>
332
            <xsd:field xpath="co:Identifiant"/>
333
        </xsd:unique>
334

    
335
    </xsd:element>
336

    
337
    <xsd:element name="Questionnaire">
338
        <xsd:annotation>
339
            <xsd:documentation>Conteneur pour les informations relative à un questionnaire. Un
340
                questionnaire correspond à un dossier.</xsd:documentation>
341
        </xsd:annotation>
342
        <xsd:complexType>
343
            <xsd:sequence>
344
                <xsd:element name="Traitement" minOccurs="0" maxOccurs="1">
345
                    <xsd:complexType>
346
                        <xsd:sequence>
347
                            <xsd:element name="Type">
348
                                <xsd:simpleType>
349
                                    <xsd:restriction base="xsd:token">
350
                                        <xsd:enumeration value="Creation"/>
351
                                    </xsd:restriction>
352
                                </xsd:simpleType>
353
                            </xsd:element>
354
                        </xsd:sequence>
355
                    </xsd:complexType>
356
                </xsd:element>
357
                <xsd:element ref="InformationsGenerales" minOccurs="1" maxOccurs="1"/>
358
                <xsd:element ref="InformationsPersonnalisees" minOccurs="0" maxOccurs="1"/>
359
            </xsd:sequence>
360
            <xsd:attribute name="idModele">
361
                <xsd:simpleType>
362
                    <xsd:restriction base="xsd:string">
363
                        <xsd:pattern value="([0-9a-zA-Z]{1,})"/>
364
                    </xsd:restriction>
365
                </xsd:simpleType>
366
            </xsd:attribute>
367
            <xsd:attribute name="idVague">
368
                <xsd:simpleType>
369
                    <xsd:restriction base="xsd:string">
370
                        <xsd:pattern value="([0-9]{1,4})"/>
371
                    </xsd:restriction>
372
                </xsd:simpleType>
373
            </xsd:attribute>
374
            
375
        </xsd:complexType>
376
    </xsd:element>
377

    
378
    <xsd:element name="InformationsGenerales">
379
        <xsd:annotation>
380
            <xsd:documentation> C'est le conteneur utilisé pour stocker les informations de contacts
381
                et d'unité enquêtée. Un certain nombre d'éléments sont attendus (contact, unité
382
                enquêtée avec adresse, etc.) </xsd:documentation>
383
        </xsd:annotation>
384
        <xsd:complexType>
385
            <xsd:sequence>
386
                <xsd:element ref="UniteEnquetee" minOccurs="1" maxOccurs="1">
387
                    <xsd:annotation>
388
                        <xsd:documentation>Le type attendu pour une <UniteEnquetee/> comprend un
389
                            certain nombre d'informations (notamment l'<Adresse/>).
390
                        </xsd:documentation>
391
                    </xsd:annotation>
392
                </xsd:element>
393
                <xsd:element name="Contacts" minOccurs="0" maxOccurs="1">
394
                    <xsd:annotation>
395
                        <xsd:documentation> Conteneur utilisé pour les liste de <Contact/>
396
                        </xsd:documentation>
397
                    </xsd:annotation>
398
                    <xsd:complexType>
399
                        <xsd:sequence>
400
                            <xsd:element ref="Contact" minOccurs="1" maxOccurs="unbounded"/>
401
                        </xsd:sequence>
402
                    </xsd:complexType>
403
                </xsd:element>
404
                <xsd:element ref="Gestionnaires" minOccurs="0" maxOccurs="1"/>
405
            </xsd:sequence>
406
            <xsd:assert test="if (not(co:UniteEnquetee/co:Adresse)) then(not(co:Contacts//co:Contact[co:Traitement/co:Type='Creation' and not(co:Adresse)])) else (true())">
407
                <xsd:annotation>
408
                    <xsd:documentation> Dans le cas d'une création de contact, il faut obligatoirement une adresse : soit celle du contact, soit celle de l'UE. <IdeC/>.
409
                    </xsd:documentation>
410
                </xsd:annotation>
411
            </xsd:assert>  
412
        </xsd:complexType>
413
    </xsd:element>
414

    
415

    
416
    <xsd:element name="UniteEnquetee">
417
        <xsd:annotation>
418
            <xsd:documentation> Dans un contexte d'import de données, le type attendu pour une
419
                <UniteEnquetee/> comprend un certain nombre d'informations (notamment l'<Adresse/>).
420
            </xsd:documentation>
421
        </xsd:annotation>
422
        <xsd:complexType>
423
            <xsd:all>
424
                <xsd:element name="Traitement" minOccurs="0" maxOccurs="1">
425
                    <xsd:complexType>
426
                        <xsd:sequence>
427
                            <xsd:element name="Type">
428
                                <xsd:simpleType>
429
                                    <xsd:restriction base="xsd:token">
430
                                        <xsd:enumeration value="Modification"/>
431
                                    </xsd:restriction>
432
                                </xsd:simpleType>
433
                            </xsd:element>
434
                        </xsd:sequence>
435
                    </xsd:complexType>
436
                </xsd:element>   
437
                <xsd:element name="Identifiant" maxOccurs="1" minOccurs="1">
438
                    <xsd:simpleType>
439
                        <xsd:restriction base="xsd:string">
440
                            <xsd:maxLength value="14"/>
441
                            <xsd:pattern value="([A-Z0-9]{1,})"/>
442
                        </xsd:restriction>
443
                    </xsd:simpleType>
444
                </xsd:element>
445
                <xsd:element name="RaisonSociale" maxOccurs="1" minOccurs="0">
446
                    <xsd:simpleType>
447
                        <xsd:restriction base="stringSansDoubleQuotes">
448
                            <xsd:maxLength value="38"/>
449

    
450
                            <xsd:minLength value="1"/>
451
                        </xsd:restriction>
452
                    </xsd:simpleType>
453
                </xsd:element>
454
                <xsd:element name="LabelUniteEnquetee" maxOccurs="1" minOccurs="0">
455
                    <xsd:simpleType>
456
                        <xsd:restriction base="xsd:string">
457
                            <xsd:enumeration value="unité"/>
458
                            <xsd:enumeration value="entreprise"/>
459
                            <xsd:enumeration value="établissement"/>
460
                            <xsd:enumeration value="fournisseur"/>
461
                            <xsd:enumeration value="hébergement"/>
462
                            <xsd:enumeration value="groupe"/>
463
                            <xsd:enumeration value="collectivité"/>
464
                            <xsd:enumeration value="association"/>
465
                        </xsd:restriction>
466
                    </xsd:simpleType>
467
                </xsd:element>
468
                <xsd:element name="Siren" maxOccurs="1" minOccurs="0">
469
                    <xsd:annotation>
470
                        <xsd:documentation>Un SIREN est composé de 9 caractères:un premier qui peut
471
                            commencer par une lettre (majuscule) ou un chiffre et le reste en
472
                            chiffre. </xsd:documentation>
473
                    </xsd:annotation>
474
                    <xsd:simpleType>
475
                        <xsd:restriction base="xsd:string">
476
                            <xsd:length value="9"/>
477
                            <xsd:pattern value="([A-Z0-9]{1}[0-9]{8})"/>
478
                        </xsd:restriction>
479
                    </xsd:simpleType>
480
                </xsd:element>
481
                <xsd:element ref="Adresse" minOccurs="0" maxOccurs="1"/>
482
            </xsd:all>
483
        </xsd:complexType>
484
    </xsd:element>
485

    
486

    
487
    <xsd:element name="Gestionnaires">
488
        <xsd:annotation>
489
            <xsd:documentation> Conteneur utilisé pour la liste de <Gestionnaire/> et les
490
                informations d'adresse et de mail du pool de <Gestionnaire/>. </xsd:documentation>
491
        </xsd:annotation>
492
        <xsd:complexType>
493
            <xsd:sequence>
494
                <xsd:element ref="Adresse" minOccurs="0" maxOccurs="1">
495
                    <xsd:annotation>
496
                        <xsd:documentation>
497
                            Adresse du pool de <Gestionnaire/> indiquée dans les courriers et sur les pages d'assistance.
498
                        </xsd:documentation>
499
                    </xsd:annotation>
500
                </xsd:element>
501
                <xsd:element ref="AdresseMessagerie" minOccurs="0" maxOccurs="1">
502
                    <xsd:annotation>
503
                        <xsd:documentation> L'adresse mail du pool de <Gestionnaires/>. C'est cette
504
                            adresse mail qui sera utilisée durant le dialogue d'assistance et dans
505
                            les courriers. </xsd:documentation>
506
                    </xsd:annotation>
507
                </xsd:element>
508
                <xsd:element name="NumeroSVI" minOccurs="0" maxOccurs="1">
509
                    <xsd:annotation>
510
                        <xsd:documentation> C'est quoi le SVI ? Le répondant a un numéro de
511
                            téléphone unique sur son courrier (de type 08**) A/ trois choix
512
                            possibles (invite approximative) : 1. "Vous souhaitez une aide technique
513
                            pour accéder au questionnaire électronique" => dirigé vers Insee Contact
514
                            2. "Vous souhaitez une information complémentaire sur le contenu du
515
                            questionnaire" => 2 et 3 dirigés vers le site de gestion collecte (SSNE,
516
                            PEE, DARES...) 3. "Pour toute autre demande" Si choix 2 ou 3 alors, B/
517
                            une question sera posée à l'appelant (invite approximative) : "Merci de
518
                            taper le code enquête figurant sur la lettre que vous avez reçue". C'est
519
                            un code à trois chiffres du style QQE avec où QQ = code enquête E =
520
                            aiguille vers le numéro du téléphone (NUM) du bureau en charge du
521
                            dossier (interne au site de collecte). </xsd:documentation>
522
                    </xsd:annotation>
523
                    <xsd:simpleType>
524
                        <xsd:restriction base="xsd:int">
525
                            <xsd:minInclusive value="100"/>
526
                            <xsd:maxInclusive value="999"/>
527
                        </xsd:restriction>
528
                    </xsd:simpleType>
529
                </xsd:element>
530
                <xsd:element ref="Gestionnaire" minOccurs="0" maxOccurs="unbounded"/>
531
            </xsd:sequence>
532
        </xsd:complexType>
533
    </xsd:element>
534

    
535

    
536

    
537
    <xsd:element name="Contact">
538
        <xsd:annotation>
539
            <xsd:documentation> Type pour les contacts à l'import. </xsd:documentation>
540
        </xsd:annotation>
541
        <xsd:complexType>
542
            <xsd:all>
543
                <xsd:element name="Traitement" minOccurs="0" maxOccurs="1">
544
                    <xsd:annotation>
545
                        <xsd:documentation>La balise Traitement permet de modifier les données de
546
                            contact en cours de campagne et de le rendre principal.
547
                        </xsd:documentation>
548
                    </xsd:annotation>
549
                    <xsd:complexType>
550
                        <xsd:sequence>
551
                            <xsd:element name="Type">
552
                                <xsd:simpleType>
553
                                    <xsd:restriction base="xsd:token">
554
                                        <xsd:enumeration value="Creation"/>
555
                                        <xsd:enumeration value="Modification"/>
556
                                    </xsd:restriction>
557
                                </xsd:simpleType>
558
                            </xsd:element>
559
                        </xsd:sequence>
560
                    </xsd:complexType>
561
                </xsd:element>
562
                <xsd:element name="IdeC" minOccurs="0" maxOccurs="1">
563
                    <xsd:annotation>
564
                        <xsd:documentation>Identifiant du contact composé de 7 caractères et les
565
                            lettres en majuscule. </xsd:documentation>
566
                    </xsd:annotation>
567
                    <xsd:simpleType>
568
                        <xsd:restriction base="xsd:string">
569
                            <xsd:length value="7"/>
570
                            <xsd:pattern value="[A-Z0-9]{7}"/>
571
                        </xsd:restriction>
572
                    </xsd:simpleType>
573
                </xsd:element>
574
                <xsd:element name="Civilite" minOccurs="0" maxOccurs="1">
575
                    <xsd:simpleType>
576
                        <xsd:restriction base="xsd:string">
577
                            <xsd:enumeration value=""/>
578
                            <xsd:enumeration value="1"/>
579
                            <xsd:enumeration value="2"/>
580
                            <xsd:enumeration value="3"/>
581
                            <xsd:enumeration value="Non renseigné"/>
582
                            <xsd:enumeration value="Monsieur"/>
583
                            <xsd:enumeration value="Madame"/>
584
                        </xsd:restriction>
585
                    </xsd:simpleType>
586
                </xsd:element>
587
                <xsd:element name="Nom" type="typeNomPrenom" minOccurs="0" maxOccurs="1"/>
588
                <xsd:element name="Prenom" type="typeNomPrenom" minOccurs="0" maxOccurs="1"/>
589
                <xsd:element name="Telephone" type="typeTelFax" minOccurs="0" maxOccurs="1"/>
590
                <xsd:element name="TelephonePortable" type="typeTelFax" minOccurs="0" maxOccurs="1"/>
591
                <xsd:element name="FacSimile" type="typeTelFax" minOccurs="0" maxOccurs="1"/>
592
                <xsd:element name="Fonction" minOccurs="0" maxOccurs="1">
593
                    <xsd:simpleType>
594
                        <xsd:restriction base="xsd:token">
595
                            <xsd:maxLength value="40"/>
596
                        </xsd:restriction>
597
                    </xsd:simpleType>
598
                </xsd:element>
599
                <xsd:element ref="AdresseMessagerie" minOccurs="0" maxOccurs="1"/>
600
                <xsd:element ref="Adresse" minOccurs="0" maxOccurs="1"/>
601
                <xsd:element name="Commentaire" type="xsd:string" minOccurs="0" maxOccurs="1"/>
602
                <xsd:element name="RaisonSocialeUsuelle" minOccurs="0" maxOccurs="1">
603
                    <xsd:simpleType>
604
                        <xsd:restriction base="stringSansDoubleQuotes">
605
                            <xsd:maxLength value="38"/>
606
                        </xsd:restriction>
607
                    </xsd:simpleType>
608
                </xsd:element>
609
            </xsd:all>
610
           <xsd:assert test="if (co:Traitement/co:Type = ('Modification')) then(co:IdeC/text()!='') else (true())">
611
            <xsd:annotation>
612
                <xsd:documentation> Contrainte d'une modification de contact : IdeC obligatoire <IdeC/>.
613
               </xsd:documentation>
614
            </xsd:annotation>
615
        </xsd:assert>  
616
            <xsd:assert test="if (co:Traitement/co:Type = ('Creation')) then(not(co:IdeC)) else (true())">
617
                <xsd:annotation>
618
                    <xsd:documentation> Contrainte d'une création de contact : pas d'IdeC <IdeC/>.
619
                    </xsd:documentation>
620
                </xsd:annotation>
621
            </xsd:assert>  
622
        </xsd:complexType>
623
    </xsd:element>
624

    
625

    
626
    <xsd:element name="Adresse">
627
        <xsd:annotation>
628
            <xsd:documentation> Adresse d'une <UniteEnquetee/>, d'un <Contact/> ou de
629
                <Gestionnaires/>. Une adresse doit être valide selon les critères de LaPoste (cf.
630
                ci-dessous). </xsd:documentation>
631
        </xsd:annotation>
632
        <xsd:complexType>
633
            <xsd:all>
634
                <xsd:element name="NumeroVoie" minOccurs="0" maxOccurs="1">
635
                    <xsd:simpleType>
636
                        <xsd:restriction base="xsd:token">
637
                            <xsd:pattern value="[' ']{0,1}|[0-9]+([ \-]?[à\-]?[ \-]?[0-9]+)*"/>
638
                        </xsd:restriction>
639
                    </xsd:simpleType>
640
                </xsd:element>
641
                <xsd:element name="IndiceRepetition" minOccurs="0" maxOccurs="1">
642
                    <xsd:simpleType>
643
                        <xsd:union>
644
                            <xsd:simpleType>
645
                                <xsd:restriction base="xsd:token">
646
                                    <xsd:enumeration value=""/>
647
                                    <xsd:enumeration value="bis"/>
648
                                    <xsd:enumeration value="quater"/>
649
                                    <xsd:enumeration value="quinquies"/>
650
                                    <xsd:enumeration value="ter"/>
651
                                </xsd:restriction>
652
                            </xsd:simpleType>
653
                            <xsd:simpleType>
654
                                <xsd:restriction base="xsd:token">
655
                                    <xsd:pattern value="[A-Z]"/>
656
                                </xsd:restriction>
657
                            </xsd:simpleType>
658
                        </xsd:union>
659
                    </xsd:simpleType>
660
                </xsd:element>
661
                <xsd:element name="TypeVoie" type="typeTypeVoie" minOccurs="0" maxOccurs="1"/>
662
                <xsd:element name="LibelleVoie" minOccurs="0">
663
                    <xsd:simpleType>
664
                        <xsd:restriction base="typeLibelleAdresse">
665
                            <xsd:maxLength value="40"/>
666
                        </xsd:restriction>
667
                    </xsd:simpleType>
668
                </xsd:element>
669
                <xsd:element name="ComplementAdresse" minOccurs="0" maxOccurs="1">
670
                    <xsd:simpleType>
671
                        <xsd:restriction base="stringSansDoubleQuotes">
672
                            <xsd:maxLength value="38"/>
673
                        </xsd:restriction>
674
                    </xsd:simpleType>
675
                </xsd:element>
676
                <xsd:element name="MentionSpeciale" minOccurs="0" maxOccurs="1">
677
                    <xsd:simpleType>
678
                        <xsd:restriction base="typeLibelleAdresse">
679
                            <xsd:maxLength value="26"/>
680
                        </xsd:restriction>
681
                    </xsd:simpleType>
682
                </xsd:element>
683

    
684
                <xsd:element name="CodePostal" nillable="true" minOccurs="0" maxOccurs="1">
685
                    <xsd:simpleType>
686
                        <xsd:restriction base="stringSansDoubleQuotes">
687
                            <xsd:pattern value="[0-9A-Z]{0,5}"/>
688
                        </xsd:restriction>
689
                    </xsd:simpleType>
690
                </xsd:element>
691
                <xsd:element name="LibelleCommune" minOccurs="0" maxOccurs="1">
692
                    <xsd:simpleType>
693
                        <xsd:restriction base="xsd:token">
694
                            <xsd:maxLength value="32"/>
695
                        </xsd:restriction>
696
                    </xsd:simpleType>
697
                </xsd:element>
698
                <xsd:element name="BureauDistributeur" minOccurs="0" maxOccurs="1">
699
                    <xsd:simpleType>
700
                        <xsd:restriction base="xsd:token">
701
                            <xsd:maxLength value="32"/>
702
                        </xsd:restriction>
703
                    </xsd:simpleType>
704
                </xsd:element>
705
                <xsd:element name="CodeCedex" minOccurs="0" maxOccurs="1">
706
                    <xsd:simpleType>
707
                        <xsd:restriction base="stringSansDoubleQuotes">
708
                            <xsd:pattern value="[0-9A-Z]{0}|[0-9A-Z]{5}"/>
709
                        </xsd:restriction>
710
                    </xsd:simpleType>
711

    
712
                </xsd:element>
713
                <xsd:element name="LibelleCedex" minOccurs="0" maxOccurs="1">
714
                    <xsd:simpleType>
715
                        <xsd:restriction base="xsd:token">
716
                            <xsd:maxLength value="32"/>
717
                        </xsd:restriction>
718
                    </xsd:simpleType>
719
                </xsd:element>
720
                <xsd:element name="CodeCommune" type="xsd:token" minOccurs="0" maxOccurs="1"/>
721
                <xsd:element name="LibellePays" type="typeLibellePays" minOccurs="0" maxOccurs="1"/>
722
            </xsd:all>
723
            <xsd:assert
724
                test="
725
                    if (co:LibellePays = 'France' or normalize-space(co:LibellePays) = '') then
726
                        (not(normalize-space(co:CodeCedex/text()) = '' or normalize-space(co:LibelleCedex/text()) = '')) or (not(normalize-space(co:CodePostal/text()) = '') and not(normalize-space(co:LibelleCommune/text()) = '' and normalize-space(co:BureauDistributeur/text()) = ''))
727
                    else
728
                        true()">
729
                <xsd:annotation>
730
                    <xsd:documentation> Contrainte de validité d'une <Adresse/> : S'il s'agit d'une
731
                        adresse en France, il faut soit un <LibelleCedex/> et un <CodeCedex/>, soit
732
                        un <CodePostal/> et un <LibelleCommune/> ou un <BureauDistributeur/>.
733
                    </xsd:documentation>
734
                </xsd:annotation>
735
            </xsd:assert>
736
        </xsd:complexType>
737
    </xsd:element>
738

    
739
    <xsd:element name="AdresseMessagerie">
740
        <xsd:simpleType>
741
            <xsd:restriction base="xsd:token">
742
                <xsd:maxLength value="80"/>
743
                <!--ancienne regle, pour revenir en arrière en cas de souci-->
744
            <!--<xsd:pattern value="[' ']{0,1}|[^\.@ ]([\.]?[^\.@ ]+)*@[^\.@ ]([\.]?[^\.@ ]+)*[\.][^\.@ ]([\.]?[^\.@ ]+)*"/>-->
745
                <xsd:pattern value="[' ']{0,1}|[a-zA-Z0-9_]+([\.-]{1}[a-zA-Z0-9_]+)*@[a-zA-Z0-9]+([\.-]{1}[a-zA-Z0-9]+)*\.[a-zA-Z]{2,}"/>
746
            </xsd:restriction>
747
        </xsd:simpleType>
748
    </xsd:element>
749

    
750
    <xsd:element name="Gestionnaire">
751
        <xsd:complexType>
752
            <xsd:sequence>
753
                <xsd:element name="Nom" type="typeNomPrenom" minOccurs="0" maxOccurs="1">
754
                    <xsd:annotation>
755
                        <xsd:documentation> Il s'agit du nom d'un gestionnaire, moins contraint que
756
                            le nom d'un contact (d'où la déclaration locale). </xsd:documentation>
757
                    </xsd:annotation>
758
                </xsd:element>
759
                <xsd:element name="Prenom" type="typeNomPrenom" minOccurs="0" maxOccurs="1"/>
760
                <xsd:element name="Telephone" type="typeTelFax" minOccurs="0"/>
761
                <xsd:element name="TelephonePortable" type="typeTelFax" minOccurs="0"/>
762
                <xsd:element name="FacSimile" type="typeTelFax" minOccurs="0"/>
763
            </xsd:sequence>
764
        </xsd:complexType>
765
    </xsd:element>
766

    
767
    <xsd:simpleType name="typeTelFax">
768
        <xsd:restriction base="xsd:token">
769
            <xsd:pattern value="((\+|[0-9])[0-9]{0,13})?"/>
770
        </xsd:restriction>
771
    </xsd:simpleType>
772

    
773
    <!--***********************************************
774
        Informations relatives à la personnalisation des questionnaires
775
        ***********************************************-->
776
    <xsd:element name="InformationsPersonnalisees">
777
        <xsd:complexType>
778
            <xsd:annotation>
779
                <xsd:documentation>C'est le conteneur utilisé pour les informations de
780
                    personnalisation des questionnaires et/ou de réponses des répondants. Il peut
781
                    contenir une liste de groupe ou également directement la liste des variables
782
                    dans les cas les plus simples (la majorité). </xsd:documentation>
783
            </xsd:annotation>
784
            <xsd:choice minOccurs="0" maxOccurs="unbounded">
785
                <xsd:element ref="Variable" maxOccurs="unbounded"/>
786
                <xsd:element ref="Groupe" maxOccurs="unbounded"/>
787
            </xsd:choice>
788
        </xsd:complexType>
789
    </xsd:element>
790

    
791
    <xsd:element name="Groupe">
792
        <xsd:annotation>
793
            <xsd:documentation>Un groupe est un conteneur générique permettant de constituer des
794
                regroupements 'typés' de variables (ou d'autres groupes) et d'y associer d'éventuels
795
                informations textuelles (libellé, instruction, etc.). L'objectif est de proposer une
796
                structure générique permettant de couvrir des modèles simples avec envoi d'une liste
797
                à plat de variables et des modèles plus complexes (EMB notamment) où une
798
                hiérarchisation complexes des variables est nécessaire, à cause d'une
799
                personnalisation très fine du questionnaire.</xsd:documentation>
800
            <xsd:documentation>Il peut contenir soit une liste de variable, soit, respectivement,
801
                une liste éventuelle de 'Description' (infomations textuelles) et une liste d'autres
802
                groupes.</xsd:documentation>
803
            <xsd:documentation>Il possède également comme attribut un 'id' qui permet d'identifier
804
                le groupe de manière unique (ex: un identifiant d'activité qui est un regroupement
805
                de variables), et un type qui permet d'identifier précisément la sémantique du
806
                regroupement (ex: activité).</xsd:documentation>
807
        </xsd:annotation>
808
        <xsd:complexType>
809
            <xsd:sequence>
810
                <xsd:element maxOccurs="1" minOccurs="0" ref="Libelle"/>
811
                <xsd:element maxOccurs="unbounded" minOccurs="0" ref="Description"/>
812
                <xsd:choice>
813
                    <xsd:element minOccurs="0" maxOccurs="unbounded" ref="Groupe"/>
814
                    <xsd:element minOccurs="0" ref="Variable" maxOccurs="unbounded"/>
815
                </xsd:choice>
816
            </xsd:sequence>
817
            <xsd:attribute name="idGroupe" type="xsd:token"/>
818
            <xsd:attribute name="typeGroupe" type="xsd:token"/>
819
        </xsd:complexType>
820
    </xsd:element>
821

    
822
    <xsd:element name="Variable">
823
        <xsd:annotation>
824
            <xsd:documentation>Une variable est un conteneur identifié de valeurs ('ancienne' et
825
                'nouvelle' par exemple).</xsd:documentation>
826
            <xsd:documentation>En plus d'être identifiée (utilisation d'identifiants métier en
827
                général), une variable peut également être typée (inutile ??) et/ou associée à une
828
                unité de mesure (cas des EMB par ex).</xsd:documentation>
829
        </xsd:annotation>
830
        <xsd:complexType>
831
            <xsd:sequence>
832
                <xsd:element ref="Valeur" maxOccurs="unbounded" minOccurs="0"/>
833
            </xsd:sequence>
834
            <xsd:attribute name="idVariable" type="xsd:token" use="required"/>
835
            <xsd:attribute name="typeVariable" type="xsd:token"/>
836
            <xsd:attribute name="unite" type="xsd:token"/>
837
        </xsd:complexType>
838
    </xsd:element>
839

    
840
    <xsd:element name="Description">
841
        <xsd:annotation>
842
            <xsd:documentation>Une description est une chaîne texte "typée" (ex: libellé,
843
                instruction, ...). Elle permet de gérer les personnalisations fines de certains
844
                questionnaires (EMB), en associant du texte aux différents groupements de
845
                variables.</xsd:documentation>
846
            <xsd:documentation>A noter que cette chaîne texte peut contenir des éléments XHTML afin
847
                de capturer des éventuelles typographies fines (texte en gras, souligné,
848
                etc.)</xsd:documentation>
849
        </xsd:annotation>
850
        <xsd:complexType mixed="true">
851
            <xsd:choice>
852
                <xsd:group ref="xhtml:block" minOccurs="0"/>
853
            </xsd:choice>
854
            <xsd:attribute name="typeDescription" type="xsd:token"/>
855
        </xsd:complexType>
856
    </xsd:element>
857

    
858
    <xsd:element name="Libelle" type="xsd:token"/>
859

    
860
    <xsd:element name="Valeur">
861
        <xsd:annotation>
862
            <xsd:documentation>Une valeur est une chaîne texte identifiée (inutile ??) et typée
863
                contenant soit une valeur à initialiser dans un questionnaire, soit une réponse
864
                extraite.</xsd:documentation>
865
            <xsd:documentation>Elle a comme attribut un identifiant (inutile ???) et un type (qui
866
                permet notamment de distinguer les valeurs initiales de celles correspondantes à des
867
                réponses)</xsd:documentation>
868
        </xsd:annotation>
869
        <xsd:complexType>
870
            <xsd:simpleContent>
871
                <xsd:extension base="xsd:string">
872
                    <xsd:attribute name="idValeur" type="xsd:string" use="optional"/>
873
                    <xsd:attribute name="type">
874
                        <xsd:simpleType>
875
                            <xsd:restriction base="xsd:string">
876
                                <xsd:enumeration value=""/>
877
                                <xsd:enumeration value="Ancienne"/>
878
                                <xsd:enumeration value="Nouvelle"/>
879
                                <xsd:enumeration value="ancienne"/>
880
                                <xsd:enumeration value="nouvelle"/>
881
                            </xsd:restriction>
882
                        </xsd:simpleType>
883
                    </xsd:attribute>
884
                </xsd:extension>
885
            </xsd:simpleContent>
886
        </xsd:complexType>
887
    </xsd:element>
888

    
889

    
890
    <!--*************************************************
891
        Définition des différents types contraignants les valeurs des éléments "feuilles"
892
        
893
    *************************************************-->
894
    <xsd:simpleType name="typeNomPrenom">
895
        <xsd:annotation>
896
            <xsd:documentation> Le contraintes portant sur les noms et prénoms sont : - Longueur
897
                maximum 40 - Liste des caractères autorisés
898
                a-zA-ZÅÀÁÃÉÇÊÂÔØÎÖÏËÄÜÚÛÙÑŒÆÐÈÍÌÓÕßÒÝœæéèêëàáâåãôöòóõøìíîïûùüúñçÿýƒ, plus (sauf en
899
                premier et en dernier) . - ' " et l'espace </xsd:documentation>
900
        </xsd:annotation>
901
        <xsd:restriction base="xsd:token">
902
            <xsd:maxLength value="40"/>
903
            <xsd:pattern
904
                value="[' ']{0,1}|([a-zA-ZÅÀÁÃÉÇÊÂÔØÎÖÏËÄÜÚÛÙÑŒÆÐÈÍÌÓÕßÒÝœæéèêëàáâåãôöòóõøìíîïûùüúñçÿýƒ]{1}([a-zA-ZÅÀÁÃÉÇÊÂÔØÎÖÏËÄÜÚÛÙÑŒÆÐÈÍÌÓÕßÒÝœæéèêëàáâåãôöòóõøìíîïûùüúñçÿýƒ\.\- ']*[a-zA-ZÅÀÁÃÉÇÊÂÔØÎÖÏËÄÜÚÛÙÑŒÆÐÈÍÌÓÕßÒÝœæéèêëàáâåãôöòóõøìíîïûùüúñçÿýƒ]{1}){0,1})"
905
            />
906
        </xsd:restriction>
907
    </xsd:simpleType>
908

    
909
    <xsd:simpleType name="typeIdCampagne">
910
        <xsd:restriction base="xsd:token">
911
            <xsd:enumeration value="A00"/>
912
            <xsd:enumeration value="X00"/>
913
            <xsd:enumeration value="S01"/>
914
            <xsd:enumeration value="S02"/>
915
            <xsd:enumeration value="T01"/>
916
            <xsd:enumeration value="T02"/>
917
            <xsd:enumeration value="T03"/>
918
            <xsd:enumeration value="T04"/>
919
            <xsd:enumeration value="M01"/>
920
            <xsd:enumeration value="M02"/>
921
            <xsd:enumeration value="M03"/>
922
            <xsd:enumeration value="M04"/>
923
            <xsd:enumeration value="M05"/>
924
            <xsd:enumeration value="M06"/>
925
            <xsd:enumeration value="M07"/>
926
            <xsd:enumeration value="M08"/>
927
            <xsd:enumeration value="M09"/>
928
            <xsd:enumeration value="M10"/>
929
            <xsd:enumeration value="M11"/>
930
            <xsd:enumeration value="M12"/>
931
            <xsd:enumeration value="B01"/>
932
            <xsd:enumeration value="B02"/>
933
            <xsd:enumeration value="B03"/>
934
            <xsd:enumeration value="B04"/>
935
            <xsd:enumeration value="B05"/>
936
            <xsd:enumeration value="B06"/>
937
        </xsd:restriction>
938
    </xsd:simpleType>
939

    
940

    
941
    <xsd:simpleType name="typeTypeVoie">
942
        <xsd:restriction base="xsd:token">
943
            <xsd:enumeration value=""/>
944
            <xsd:enumeration value="Allée"/>
945
            <xsd:enumeration value="Avenue"/>
946
            <xsd:enumeration value="Boulevard"/>
947
            <xsd:enumeration value="Carrefour"/>
948
            <xsd:enumeration value="Chaussée"/>
949
            <xsd:enumeration value="Chemin"/>
950
            <xsd:enumeration value="Chemin communal"/>
951
            <xsd:enumeration value="Chemin départemental"/>
952
            <xsd:enumeration value="Chemin rural"/>
953
            <xsd:enumeration value="Cheminement"/>
954
            <xsd:enumeration value="Cité"/>
955
            <xsd:enumeration value="Corniche"/>
956
            <xsd:enumeration value="Cours"/>
957
            <xsd:enumeration value="Descente"/>
958
            <xsd:enumeration value="Domaine"/>
959
            <xsd:enumeration value="Ecart"/>
960
            <xsd:enumeration value="Esplanade"/>
961
            <xsd:enumeration value="Faubourg"/>
962
            <xsd:enumeration value="Grand Rue"/>
963
            <xsd:enumeration value="Halle"/>
964
            <xsd:enumeration value="Hameau"/>
965
            <xsd:enumeration value="Impasse"/>
966
            <xsd:enumeration value="Jetée"/>
967
            <xsd:enumeration value="Lieu-dit"/>
968
            <xsd:enumeration value="Lotissement"/>
969
            <xsd:enumeration value="Marché"/>
970
            <xsd:enumeration value="Montée"/>
971
            <xsd:enumeration value="Parvis"/>
972
            <xsd:enumeration value="Passage"/>
973
            <xsd:enumeration value="Place"/>
974
            <xsd:enumeration value="Plaine"/>
975
            <xsd:enumeration value="Plateau"/>
976
            <xsd:enumeration value="Porte"/>
977
            <xsd:enumeration value="Promenade"/>
978
            <xsd:enumeration value="Quai"/>
979
            <xsd:enumeration value="Quartier"/>
980
            <xsd:enumeration value="Résidence"/>
981
            <xsd:enumeration value="Rocade"/>
982
            <xsd:enumeration value="Rond-point"/>
983
            <xsd:enumeration value="Route"/>
984
            <xsd:enumeration value="Route départementale"/>
985
            <xsd:enumeration value="Route nationale"/>
986
            <xsd:enumeration value="Rue"/>
987
            <xsd:enumeration value="Ruelle"/>
988
            <xsd:enumeration value="Sente"/>
989
            <xsd:enumeration value="Sentier"/>
990
            <xsd:enumeration value="Sente - Sentier"/>
991
            <xsd:enumeration value="Square"/>
992
            <xsd:enumeration value="Terrasse"/>
993
            <xsd:enumeration value="Terre-plein"/>
994
            <xsd:enumeration value="Traverse"/>
995
            <xsd:enumeration value="Tertre"/>
996
            <xsd:enumeration value="Villa"/>
997
            <xsd:enumeration value="Village"/>
998
            <xsd:enumeration value="Voie communale"/>
999
        </xsd:restriction>
1000

    
1001
    </xsd:simpleType>
1002

    
1003
    <xsd:simpleType name="typeLibelleAdresse">
1004
        <xsd:annotation>
1005
            <xsd:documentation> Liste des caractères autorisés
1006
                0-9a-zA-ZÅÀÁÃÉÇÊÂÔØÎÖÏËÄÜÚÛÙÑŒÆÐÈÍÌÓÕßÒÝœæéèêëàáâåãôöòóõøìíîïûùüúñçÿýƒ, plus (sauf en
1007
                premier et en dernier) . - ' et l'espace </xsd:documentation>
1008
        </xsd:annotation>
1009
        <xsd:restriction base="xsd:token">
1010
            <xsd:pattern
1011
                value="[' ']{0,1}|([0-9a-zA-ZÅÀÁÃÉÇÊÂÔØÎÖÏËÄÜÚÛÙÑŒÆÐÈÍÌÓÕßÒÝœæéèêëàáâåãôöòóõøìíîïûùüúñçÿýƒ]{1}([0-9a-zA-ZÅÀÁÃÉÇÊÂÔØÎÖÏËÄÜÚÛÙÑŒÆÐÈÍÌÓÕßÒÝœæéèêëàáâåãôöòóõøìíîïûùüúñçÿýƒ\.\- ']*[0-9a-zA-ZÅÀÁÃÉÇÊÂÔØÎÖÏËÄÜÚÛÙÑŒÆÐÈÍÌÓÕßÒÝœæéèêëàáâåãôöòóõøìíîïûùüúñçÿýƒ]{1}))"
1012
            />
1013
        </xsd:restriction>
1014
    </xsd:simpleType>
1015

    
1016
    <xsd:simpleType name="stringSansDoubleQuotes">
1017
        <xsd:annotation>
1018
            <xsd:documentation> Interdiction du double quotes dans les libellés adresses et RS
1019
                (problème des cas de " non pairs...) </xsd:documentation>
1020
        </xsd:annotation>
1021
        <xsd:restriction base="xsd:string">
1022
            <xsd:pattern value="[^&quot;]*"/>
1023
        </xsd:restriction>
1024
    </xsd:simpleType>
1025

    
1026

    
1027

    
1028
    <xsd:simpleType name="typeLibellePays">
1029
        <xsd:restriction base="xsd:token">
1030
            <xsd:enumeration value=""/>
1031
            <xsd:enumeration value="Afghanistan"/>
1032
            <xsd:enumeration value="Afrique du Sud"/>
1033
            <xsd:enumeration value="Albanie"/>
1034
            <xsd:enumeration value="Algérie"/>
1035
            <xsd:enumeration value="Allemagne"/>
1036
            <xsd:enumeration value="Andorre"/>
1037
            <xsd:enumeration value="Angola"/>
1038
            <xsd:enumeration value="Anguilla"/>
1039
            <xsd:enumeration value="Antarctique"/>
1040
            <xsd:enumeration value="Antigua-et-Barbuda"/>
1041
            <xsd:enumeration value="Arabie saoudite"/>
1042
            <xsd:enumeration value="Argentine"/>
1043
            <xsd:enumeration value="Arménie"/>
1044
            <xsd:enumeration value="Aruba"/>
1045
            <xsd:enumeration value="Australie"/>
1046
            <xsd:enumeration value="Autriche"/>
1047
            <xsd:enumeration value="Azerbaïdjan"/>
1048
            <xsd:enumeration value="Bahamas"/>
1049
            <xsd:enumeration value="Bahreïn"/>
1050
            <xsd:enumeration value="Bangladesh"/>
1051
            <xsd:enumeration value="Barbade"/>
1052
            <xsd:enumeration value="Bélarus"/>
1053
            <xsd:enumeration value="Belgique"/>
1054
            <xsd:enumeration value="Belize"/>
1055
            <xsd:enumeration value="Bénin"/>
1056
            <xsd:enumeration value="Bermudes"/>
1057
            <xsd:enumeration value="Bhoutan"/>
1058
            <xsd:enumeration value="Bolivie (État plurinational de)"/>
1059
            <xsd:enumeration value="Bonaire, Saint-Eustache et Saba"/>
1060
            <xsd:enumeration value="Bosnie-Herzégovine"/>
1061
            <xsd:enumeration value="Botswana"/>
1062
            <xsd:enumeration value="Brésil"/>
1063
            <xsd:enumeration value="Brunéi Darussalam"/>
1064
            <xsd:enumeration value="Bulgarie"/>
1065
            <xsd:enumeration value="Burkina Faso"/>
1066
            <xsd:enumeration value="Burundi"/>
1067
            <xsd:enumeration value="Cabo Verde"/>
1068
            <xsd:enumeration value="Cambodge"/>
1069
            <xsd:enumeration value="Cameroun"/>
1070
            <xsd:enumeration value="Canada"/>
1071
            <xsd:enumeration value="Chili"/>
1072
            <xsd:enumeration value="Chine"/>
1073
            <xsd:enumeration value="Chine, région administrative spéciale de Macao"/>
1074
            <xsd:enumeration value="Chypre"/>
1075
            <xsd:enumeration value="Colombie"/>
1076
            <xsd:enumeration value="Comores"/>
1077
            <xsd:enumeration value="Congo"/>
1078
            <xsd:enumeration value="Congo (République démocratique du)"/>
1079
            <xsd:enumeration value="Corée (République de)"/>
1080
            <xsd:enumeration value="Corée (République populaire démocratique de)"/>
1081
            <xsd:enumeration value="Costa Rica"/>
1082
            <xsd:enumeration value="Côte d'Ivoire"/>
1083
            <xsd:enumeration value="Croatie"/>
1084
            <xsd:enumeration value="Cuba"/>
1085
            <xsd:enumeration value="Curaçao"/>
1086
            <xsd:enumeration value="Danemark"/>
1087
            <xsd:enumeration value="Djibouti"/>
1088
            <xsd:enumeration value="Dominique"/>
1089
            <xsd:enumeration value="Égypte"/>
1090
            <xsd:enumeration value="El Salvador"/>
1091
            <xsd:enumeration value="Émirats arabes unis"/>
1092
            <xsd:enumeration value="Équateur"/>
1093
            <xsd:enumeration value="Érythrée"/>
1094
            <xsd:enumeration value="Espagne"/>
1095
            <xsd:enumeration value="Estonie"/>
1096
            <xsd:enumeration value="États-Unis d'Amérique"/>
1097
            <xsd:enumeration value="Éthiopie"/>
1098
            <xsd:enumeration value="Fidji"/>
1099
            <xsd:enumeration value="Finlande"/>
1100
            <xsd:enumeration value="France"/>
1101
            <xsd:enumeration value="Gabon"/>
1102
            <xsd:enumeration value="Gambie"/>
1103
            <xsd:enumeration value="Géorgie"/>
1104
            <xsd:enumeration value="Géorgie du Sud-et-les Îles Sandwich du Sud"/>
1105
            <xsd:enumeration value="Ghana"/>
1106
            <xsd:enumeration value="Gibraltar"/>
1107
            <xsd:enumeration value="Grèce"/>
1108
            <xsd:enumeration value="Grenade"/>
1109
            <xsd:enumeration value="Groenland"/>
1110
            <xsd:enumeration value="Groland"/>
1111
            <xsd:enumeration value="Guadeloupe"/>
1112
            <xsd:enumeration value="Guam"/>
1113
            <xsd:enumeration value="Guatemala"/>
1114
            <xsd:enumeration value="Guernesey"/>
1115
            <xsd:enumeration value="Guinée"/>
1116
            <xsd:enumeration value="Guinée équatoriale"/>
1117
            <xsd:enumeration value="Guinée-Bissau"/>
1118
            <xsd:enumeration value="Guyana"/>
1119
            <xsd:enumeration value="Guyane française"/>
1120
            <xsd:enumeration value="Haïti"/>
1121
            <xsd:enumeration value="Honduras"/>
1122
            <xsd:enumeration value="Hongrie"/>
1123
            <xsd:enumeration value="Île de Man"/>
1124
            <xsd:enumeration value="Île Heard-et-Îles MacDonald"/>
1125
            <xsd:enumeration value="Île Norfolk"/>
1126
            <xsd:enumeration value="Îles Caïmanes"/>
1127
            <xsd:enumeration value="Îles Cocos/ Îles Keeling"/>
1128
            <xsd:enumeration value="Îles Cook"/>
1129
            <xsd:enumeration value="Îles d' Åland"/>
1130
            <xsd:enumeration value="Îles Féroé"/>
1131
            <xsd:enumeration value="Îles Mariannes du Nord"/>
1132
            <xsd:enumeration value="Îles Marshall"/>
1133
            <xsd:enumeration value="Îles mineures éloignées des Etats-Unis"/>
1134
            <xsd:enumeration value="Îles Salomon"/>
1135
            <xsd:enumeration value="Îles Svalbard et Jan Mayen"/>
1136
            <xsd:enumeration value="Îles Turques et Caïques"/>
1137
            <xsd:enumeration value="Îles Vierges américaines"/>
1138
            <xsd:enumeration value="Îles Vierges britanniques"/>
1139
            <xsd:enumeration value="Îles Wallis et Futuna"/>
1140
            <xsd:enumeration value="Inde"/>
1141
            <xsd:enumeration value="Indonésie"/>
1142
            <xsd:enumeration value="Iran (République islamique d')"/>
1143
            <xsd:enumeration value="Iraq"/>
1144
            <xsd:enumeration value="Irlande"/>
1145
            <xsd:enumeration value="Islande"/>
1146
            <xsd:enumeration value="Israël"/>
1147
            <xsd:enumeration value="Italie"/>
1148
            <xsd:enumeration value="Jamaïque"/>
1149
            <xsd:enumeration value="Japon"/>
1150
            <xsd:enumeration value="Jordanie"/>
1151
            <xsd:enumeration value="Kazakhstan"/>
1152
            <xsd:enumeration value="Kenya"/>
1153
            <xsd:enumeration value="Kirghizistan"/>
1154
            <xsd:enumeration value="Kiribati"/>
1155
            <xsd:enumeration value="Koweït"/>
1156
            <xsd:enumeration value="Lao (République démocratique populaire)"/>
1157
            <xsd:enumeration value="Le Jersey"/>
1158
            <xsd:enumeration value="Lesotho"/>
1159
            <xsd:enumeration value="Lettonie"/>
1160
            <xsd:enumeration value="Liban"/>
1161
            <xsd:enumeration value="Libéria"/>
1162
            <xsd:enumeration value="Libye"/>
1163
            <xsd:enumeration value="Liechtenstein"/>
1164
            <xsd:enumeration value="Lituanie"/>
1165
            <xsd:enumeration value="Luxembourg"/>
1166
            <xsd:enumeration value="Luxembourg"/>
1167
            <xsd:enumeration value="Macédoine (Ex-République yougoslave de)"/>
1168
            <xsd:enumeration value="Malaisie"/>
1169
            <xsd:enumeration value="Malawi"/>
1170
            <xsd:enumeration value="Maldives"/>
1171
            <xsd:enumeration value="Mali"/>
1172
            <xsd:enumeration value="Malte"/>
1173
            <xsd:enumeration value="Maroc"/>
1174
            <xsd:enumeration value="Martinique"/>
1175
            <xsd:enumeration value="Maurice"/>
1176
            <xsd:enumeration value="Mauritanie"/>
1177
            <xsd:enumeration value="Mayotte"/>           
1178
            <xsd:enumeration value="Mexique"/>
1179
            <xsd:enumeration value="Micronésie (États fédérés de)"/>
1180
            <xsd:enumeration value="Moldova (République de)"/>
1181
            <xsd:enumeration value="Monaco"/>
1182
            <xsd:enumeration value="Monténégro"/>
1183
            <xsd:enumeration value="Montserrat"/>
1184
            <xsd:enumeration value="Mongolie"/>
1185
            <xsd:enumeration value="Mozambique"/>
1186
            <xsd:enumeration value="Myanmar"/>
1187
            <xsd:enumeration value="Namibie"/>
1188
            <xsd:enumeration value="Nauru"/>
1189
            <xsd:enumeration value="Népal"/>
1190
            <xsd:enumeration value="Nicaragua"/>
1191
            <xsd:enumeration value="Niger"/>
1192
            <xsd:enumeration value="Nigéria"/>
1193
            <xsd:enumeration value="Nioué"/>
1194
            <xsd:enumeration value="Norvège"/>
1195
            <xsd:enumeration value="Nouvelle-Calédonie"/>
1196
            <xsd:enumeration value="Nouvelle-Zélande"/>
1197
            <xsd:enumeration value="Oman"/>
1198
            <xsd:enumeration value="Ouganda"/>
1199
            <xsd:enumeration value="Ouzbékistan"/>
1200
            <xsd:enumeration value="Pakistan"/>
1201
            <xsd:enumeration value="Palaos"/>
1202
            <xsd:enumeration value="Palestine (État de)"/>
1203
            <xsd:enumeration value="Panama"/>
1204
            <xsd:enumeration value="Papouasie-Nouvelle-Guinée"/>
1205
            <xsd:enumeration value="Paraguay"/>
1206
            <xsd:enumeration value="Pays-Bas"/>
1207
            <xsd:enumeration value="Pérou"/>
1208
            <xsd:enumeration value="Philippines"/>
1209
            <xsd:enumeration value="Pitcairn"/>
1210
            <xsd:enumeration value="Pologne"/>
1211
            <xsd:enumeration value="Polynésie française"/>
1212
            <xsd:enumeration value="Porto Rico"/>
1213
            <xsd:enumeration value="Portugal"/>
1214
            <xsd:enumeration value="Qatar"/>
1215
            <xsd:enumeration value="République arabe syrienne"/>
1216
            <xsd:enumeration value="République centrafricaine"/>
1217
            <xsd:enumeration value="République dominicaine"/>
1218
            <xsd:enumeration value="République tchèque"/>
1219
            <xsd:enumeration value="République-Unie de Tanzanie"/>
1220
            <xsd:enumeration value="Réunion"/>
1221
            <xsd:enumeration value="Roumanie"/>
1222
            <xsd:enumeration value="Royaume-Uni de Grande-Bretagne et d'Irlande du Nord"/>
1223
            <xsd:enumeration value="Russie (Fédération de)"/>
1224
            <xsd:enumeration value="Rwanda"/>
1225
            <xsd:enumeration value="Sahara occidental"/>
1226
            <xsd:enumeration value="Saint-Barthélemy"/>
1227
            <xsd:enumeration value="Sainte-Hélène"/>
1228
            <xsd:enumeration value="Sainte-Lucie"/>
1229
            <xsd:enumeration value="Saint-Kitts-et-Nevis"/>
1230
            <xsd:enumeration value="Saint-Marin"/>
1231
            <xsd:enumeration value="Saint-Martin (partie française)"/>
1232
            <xsd:enumeration value="Saint-Martin (partie néerlandaise)"/>
1233
            <xsd:enumeration value="Saint-Pierre-et-Miquelon"/>
1234
            <xsd:enumeration value="Saint-Siège (État de la Cité du Vatican)"/>
1235
            <xsd:enumeration value="Saint-Vincent-et-les Grenadines"/>
1236
            <xsd:enumeration value="Samoa"/>
1237
            <xsd:enumeration value="Samoas américaines"/>
1238
            <xsd:enumeration value="Sénégal"/>
1239
            <xsd:enumeration value="Serbie (la)"/>
1240
            <xsd:enumeration value="Seychelles"/>
1241
            <xsd:enumeration value="Sierra Leone"/>
1242
            <xsd:enumeration value="Singapour"/>
1243
            <xsd:enumeration value="Slovaquie"/>
1244
            <xsd:enumeration value="Slovénie"/>
1245
            <xsd:enumeration value="Somalie"/>
1246
            <xsd:enumeration value="Soudan"/>
1247
            <xsd:enumeration value="Soudan du Sud"/>
1248
            <xsd:enumeration value="Sri Lanka"/>
1249
            <xsd:enumeration value="Suède"/>
1250
            <xsd:enumeration value="Suisse"/>
1251
            <xsd:enumeration value="Suriname"/>
1252
            <xsd:enumeration value="Swaziland"/>
1253
            <xsd:enumeration value="Tadjikistan"/>
1254
            <xsd:enumeration value="Taïwan (Province de Chine)"/>
1255
            <xsd:enumeration value="Tchad"/>
1256
            <xsd:enumeration value="Terres australes françaises"/>
1257
            <xsd:enumeration value="Territoire britannique de l'océan Indien"/>
1258
            <xsd:enumeration value="Thaïlande"/>
1259
            <xsd:enumeration value="Timor-Leste"/>
1260
            <xsd:enumeration value="Togo"/>
1261
            <xsd:enumeration value="Tokélaou"/>
1262
            <xsd:enumeration value="Tonga"/>
1263
            <xsd:enumeration value="Trinité-et-Tobago"/>
1264
            <xsd:enumeration value="Tunisie"/>
1265
            <xsd:enumeration value="Turkménistan"/>
1266
            <xsd:enumeration value="Turquie"/>
1267
            <xsd:enumeration value="Tuvalu"/>
1268
            <xsd:enumeration value="Ukraine"/>
1269
            <xsd:enumeration value="Uruguay"/>
1270
            <xsd:enumeration value="Vanuatu"/>
1271
            <xsd:enumeration value="Venezuela (République bolivarienne du)"/>
1272
            <xsd:enumeration value="Viet Nam"/>
1273
            <xsd:enumeration value="Yémen"/>
1274
            <xsd:enumeration value="Zambie"/>
1275
            <xsd:enumeration value="Zimbabwe"/>
1276
        </xsd:restriction>
1277
    </xsd:simpleType>
1278

    
1279
</xsd:schema>
(2-2/4)