Project

Profile

Help

Bug #4445 » schema.xsd

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

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

<xsd:annotation>
<xsd:documentation> Schéma pour la validation des fichiers de personnalisation de Coltrane.
Détails des mises à jour :
- 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 :
-- si balise Courrier = Accompagnement, alors Questionnaire = Oui
-- si Questionnaire = Oui alors Courrier = Ouverture, Relance, MED, MEDAR, CNR, CNRAR ou Accompagnement
- 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)
- 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)
- 06/03/2019 - Guylène Tandeau - ajout de la modalité "association" à la liste des possibilités pour LabelUniteEnquetee.
- 04/02/2019 - Guylène Tandeau - ajout des idPeriode B01 à B06 pour les enquêtes bimensuelles
- 30/10/2018 - Mathieu Bergonzini - ajout de l'adresse dans la balise Gestionnaires
- 01/10/2018 - Ophélie Rogel - ajout d'une minOccurs="0" sur le contenu de Groupe pour permettre les Groupe vides pour l'ESA.
- 21/08/2018 - Ophélie Rogel - Ajout des contraintes suite au nouveau type de traitement Mise à jour
(contrainte sur balise dans Traitement, dans l'UE (seul Identifiant obligatoire) et dans le Contact : IdeC non vide si modification)
- 09/08/2018 - Ophélie Rogel - Ajout de contraintes sur le
<CodeCedex/> : vide ou de longueur 5 avec caractères : 0-9 A-Z + Ajout 0-9 A-Z dans <CodePostal/>
- 06/06/2018 - Ophélie Rogel - Interdiction du " dans les libellés des RS
et dans l'adresse (évite les problèmes des " non pairs)
- 23/04/2018 - Ophélie Rogel -
Initialisation à partir du schéma complexe d'Eric Sigaud. </xsd:documentation>
</xsd:annotation>

<!--**********************************************
Eléments racine : Campagne et Traitement
**********************************************-->

<xsd:element name="Campagne">
<xsd:annotation>
<xsd:documentation> Elément de plus haut niveau pour les fichiers de personnalisation.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Traitement" type="typeTraitementCampagne" minOccurs="1"
maxOccurs="1"/>
<xsd:element ref="Questionnaires" minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> Conteneur pour les "questionnaires" de
l'échantillon.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>

<xsd:attribute name="idSource" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation>Identifiant Coltrane de la source.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

<xsd:attribute name="millesime" use="required">
<xsd:annotation>
<xsd:documentation>Millésime Coltrane de la campagne ( soit l'année de collecte
ou dans le cas d'une campagne à cheval sur deux années, la première).
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="2010"/>
<xsd:maxInclusive value="2100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>

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

<xsd:attribute name="natureOperation" fixed="import">
<xsd:annotation>
<xsd:documentation>Cet attribut est "technique". Il permet de distinguer les
fichiers d'import de données (valeur="import" dans le cas d'un fichier de
personnalisation) des autres fichiers en entrée ou en sortie de
Coltrane.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:assert
test="
if (co:Traitement/co:Courrier = ('Ouverture', 'Entrée') and co:Traitement/co:Questionnaire = 'Non') then
(count(distinct-values(co:Questionnaires//co:Questionnaire/@idVague)) = 1)
else
(true())">
<xsd:annotation>
<xsd:documentation>Dans le cas d'un courrier d'ouverture ou d'entrée, il faut que le fichier
ne contienne qu'une seule vague (la date d'édition est calculée suivant la
date d'ouverture de la vague dans Campagne.xml et elle doit être
unique).</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Traitement/co:Type = ('Initialisation', 'Edition')) then
(not(co:Questionnaires//co:Questionnaire[not(@idVague) or not(@idModele)]))
else
(true())">
<xsd:annotation>
<xsd:documentation>Présence obligatoire de la balise idVague et idModele dans le
cas d'une ouverture ou d'un courrier.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Traitement/co:Type = ('Initialisation', 'Edition')) then
(not(co:Questionnaires/co:Questionnaire/co:InformationsGenerales//co:UniteEnquetee[not(co:Siren) or not(co:RaisonSociale) or not(co:Adresse) or not(co:LabelUniteEnquetee)]))
else
(true())">
<xsd:annotation>
<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>
</xsd:annotation>
</xsd:assert>
</xsd:complexType>
</xsd:element>

<xsd:complexType name="typeTraitementCampagne">
<xsd:annotation>
<xsd:documentation> Elément technique utilisé pour piloter la chaîne batch Coltrane.
Pour tous les croisements possibles, se référer à la note Coltrane : N°209/DG75-E220
du 16 avril 2018 : offre Courriers, mails et questionnaires – Annule et remplace la
note 747/DG75-E220 du 7 novembre 2017 </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Type" minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> L'élément est déclaré localement plutôt que globalement, car
son nom est générique et peut créer des conflits ultérieurement (le nom du
type associé est lui spécifique). </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Initialisation"/>
<xsd:enumeration value="Edition"/>
<xsd:enumeration value="Mise à jour"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Courrier" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> L'élément est déclaré localement plutôt que globalement, car
son nom est générique et peut créer des conflits ultérieurement (le nom du
type associé est lui spécifique). </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Ouverture"/>
<xsd:enumeration value="CNR"/>
<xsd:enumeration value="MED"/>
<xsd:enumeration value="CNRAR"/>
<xsd:enumeration value="MEDAR"/>
<xsd:enumeration value="Remerciement"/>
<xsd:enumeration value="Entrée"/>
<xsd:enumeration value="Relance"/>
<xsd:enumeration value="Sans"/>
<xsd:enumeration value="Accompagnement"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Mail" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> L'élément est déclaré localement plutôt que globalement, car
son nom est générique et peut créer des conflits ultérieurement (le nom du
type associé est lui spécifique). </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Ouverture"/>
<xsd:enumeration value="Relance"/>
<xsd:enumeration value="Sans"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Questionnaire" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> L'élément est déclaré localement plutôt que globalement, car
son nom est générique et peut créer des conflits ultérieurement (le nom du
type associé est lui spécifique). </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Oui"/>
<xsd:enumeration value="Non"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
<xsd:assert
test="
if (co:Type = ('Edition')) then
(not(co:Courrier = ('Sans') and co:Mail = ('Sans')))
else
(true())">
<xsd:annotation>
<xsd:documentation> Pas d'édition de rien.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Type = ('Initialisation','Edition')) then
((co:Courrier and co:Mail and co:Questionnaire))
else
(true())">
<xsd:annotation>
<xsd:documentation> Les quatre balises sont obligatoire dans le cas d'une édition ou d'une initialisation.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Mail = ('Ouverture') or co:Courrier = ('Ouverture', 'Entrée')) then
(co:Courrier = ('Ouverture', 'Entrée', 'Sans') and co:Mail = ('Ouverture', 'Sans'))
else
(true())">
<xsd:annotation>
<xsd:documentation> Correspondance entre Mail et Courrier pour
l'ouverture.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Mail = ('Relance') or co:Courrier = ('Relance')) then
(co:Courrier = ('Relance', 'Sans') and co:Mail = ('Relance', 'Sans'))
else
(true())">
<xsd:annotation>
<xsd:documentation>Correspondance entre Mail et Courrier pour la
relance.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Type = ('Initialisation')) then
(co:Courrier = ('Ouverture', 'Entrée', 'Sans') and co:Mail = ('Sans', 'Ouverture'))
else
(true())">
<xsd:annotation>
<xsd:documentation>Une initialisation ne peut être accompagnée que de courrier et
mail concernant l'ouverture.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Type = 'Initialisation' and co:Courrier = 'Sans') then
(co:Questionnaire = 'Non')
else
(true())">
<xsd:annotation>
<xsd:documentation>Si pas de courrier d'ouverture, pas de génération de
questionnaire pdf.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Type = 'Edition' and co:Courrier = 'Sans' and co:Mail = 'Relance') then
(co:Questionnaire = 'Non')
else
(true())">
<xsd:annotation>
<xsd:documentation>Si pas de questionnaire si mail de relance.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Courrier = ('MED', 'MEDAR', 'CNR', 'CNRAR')) then
(co:Mail = 'Sans')
else
(true())">
<xsd:annotation>
<xsd:documentation>Pas de mail si on est dans le cas d'une mise en demeure ou d'un
constat de non réponse.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Courrier = ('Remerciement')) then
(co:Mail = 'Sans' and co:Questionnaire = 'Non')
else
(true())">
<xsd:annotation>
<xsd:documentation>Dans le cas d'un courrier de Remerciement, pas de génération de
questionnaire et pas de mail possible.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Courrier = ('Accompagnement')) then (co:Questionnaire = 'Oui')
else
(true())">
<xsd:annotation>
<xsd:documentation>Dans le cas d'un courrier d'accompagnement, il y a forcément un questionnaire.</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert
test="
if (co:Questionnaire = ('Oui')) then (co:Courrier = ('Ouverture', 'Relance', 'MED', 'MEDAR', 'CNR', 'CNRAR', 'Accompagnement'))
else
(true())">
<xsd:annotation>
<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>
</xsd:annotation>
</xsd:assert>
</xsd:complexType>


<!--**********************************************
Eléments structurels : InformationsGenerales
**********************************************-->

<xsd:element name="Questionnaires">
<xsd:annotation>
<xsd:documentation>Conteneur pour des Questionnaires.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Questionnaire" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:unique name="IdentifiantUE">
<xsd:annotation>
<xsd:documentation>Règle d'unicité d'un identifiant UE sur l'ensemble des
<Questionnaire/> d'un même fichier</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="co:Questionnaire/co:InformationsGenerales/co:UniteEnquetee"/>
<xsd:field xpath="co:Identifiant"/>
</xsd:unique>

</xsd:element>

<xsd:element name="Questionnaire">
<xsd:annotation>
<xsd:documentation>Conteneur pour les informations relative à un questionnaire. Un
questionnaire correspond à un dossier.</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Traitement" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Type">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="Creation"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ref="InformationsGenerales" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="InformationsPersonnalisees" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="idModele">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([0-9a-zA-Z]{1,})"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="idVague">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([0-9]{1,4})"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>

<xsd:element name="InformationsGenerales">
<xsd:annotation>
<xsd:documentation> C'est le conteneur utilisé pour stocker les informations de contacts
et d'unité enquêtée. Un certain nombre d'éléments sont attendus (contact, unité
enquêtée avec adresse, etc.) </xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="UniteEnquetee" minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Le type attendu pour une <UniteEnquetee/> comprend un
certain nombre d'informations (notamment l'<Adresse/>).
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Contacts" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> Conteneur utilisé pour les liste de <Contact/>
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Contact" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element ref="Gestionnaires" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<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())">
<xsd:annotation>
<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/>.
</xsd:documentation>
</xsd:annotation>
</xsd:assert>
</xsd:complexType>
</xsd:element>


<xsd:element name="UniteEnquetee">
<xsd:annotation>
<xsd:documentation> Dans un contexte d'import de données, le type attendu pour une
<UniteEnquetee/> comprend un certain nombre d'informations (notamment l'<Adresse/>).
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:all>
<xsd:element name="Traitement" minOccurs="0" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Type">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="Modification"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="Identifiant" maxOccurs="1" minOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="14"/>
<xsd:pattern value="([A-Z0-9]{1,})"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="RaisonSociale" maxOccurs="1" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="stringSansDoubleQuotes">
<xsd:maxLength value="38"/>

<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="LabelUniteEnquetee" maxOccurs="1" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="unité"/>
<xsd:enumeration value="entreprise"/>
<xsd:enumeration value="établissement"/>
<xsd:enumeration value="fournisseur"/>
<xsd:enumeration value="hébergement"/>
<xsd:enumeration value="groupe"/>
<xsd:enumeration value="collectivité"/>
<xsd:enumeration value="association"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Siren" maxOccurs="1" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Un SIREN est composé de 9 caractères:un premier qui peut
commencer par une lettre (majuscule) ou un chiffre et le reste en
chiffre. </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:length value="9"/>
<xsd:pattern value="([A-Z0-9]{1}[0-9]{8})"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element ref="Adresse" minOccurs="0" maxOccurs="1"/>
</xsd:all>
</xsd:complexType>
</xsd:element>


<xsd:element name="Gestionnaires">
<xsd:annotation>
<xsd:documentation> Conteneur utilisé pour la liste de <Gestionnaire/> et les
informations d'adresse et de mail du pool de <Gestionnaire/>. </xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref="Adresse" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Adresse du pool de <Gestionnaire/> indiquée dans les courriers et sur les pages d'assistance.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element ref="AdresseMessagerie" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> L'adresse mail du pool de <Gestionnaires/>. C'est cette
adresse mail qui sera utilisée durant le dialogue d'assistance et dans
les courriers. </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="NumeroSVI" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> C'est quoi le SVI ? Le répondant a un numéro de
téléphone unique sur son courrier (de type 08**) A/ trois choix
possibles (invite approximative) : 1. "Vous souhaitez une aide technique
pour accéder au questionnaire électronique" => dirigé vers Insee Contact
2. "Vous souhaitez une information complémentaire sur le contenu du
questionnaire" => 2 et 3 dirigés vers le site de gestion collecte (SSNE,
PEE, DARES...) 3. "Pour toute autre demande" Si choix 2 ou 3 alors, B/
une question sera posée à l'appelant (invite approximative) : "Merci de
taper le code enquête figurant sur la lettre que vous avez reçue". C'est
un code à trois chiffres du style QQE avec où QQ = code enquête E =
aiguille vers le numéro du téléphone (NUM) du bureau en charge du
dossier (interne au site de collecte). </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="100"/>
<xsd:maxInclusive value="999"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element ref="Gestionnaire" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>



<xsd:element name="Contact">
<xsd:annotation>
<xsd:documentation> Type pour les contacts à l'import. </xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:all>
<xsd:element name="Traitement" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>La balise Traitement permet de modifier les données de
contact en cours de campagne et de le rendre principal.
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Type">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="Creation"/>
<xsd:enumeration value="Modification"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="IdeC" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation>Identifiant du contact composé de 7 caractères et les
lettres en majuscule. </xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:length value="7"/>
<xsd:pattern value="[A-Z0-9]{7}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Civilite" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value=""/>
<xsd:enumeration value="1"/>
<xsd:enumeration value="2"/>
<xsd:enumeration value="3"/>
<xsd:enumeration value="Non renseigné"/>
<xsd:enumeration value="Monsieur"/>
<xsd:enumeration value="Madame"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="Nom" type="typeNomPrenom" minOccurs="0" maxOccurs="1"/>
<xsd:element name="Prenom" type="typeNomPrenom" minOccurs="0" maxOccurs="1"/>
<xsd:element name="Telephone" type="typeTelFax" minOccurs="0" maxOccurs="1"/>
<xsd:element name="TelephonePortable" type="typeTelFax" minOccurs="0" maxOccurs="1"/>
<xsd:element name="FacSimile" type="typeTelFax" minOccurs="0" maxOccurs="1"/>
<xsd:element name="Fonction" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:maxLength value="40"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element ref="AdresseMessagerie" minOccurs="0" maxOccurs="1"/>
<xsd:element ref="Adresse" minOccurs="0" maxOccurs="1"/>
<xsd:element name="Commentaire" type="xsd:string" minOccurs="0" maxOccurs="1"/>
<xsd:element name="RaisonSocialeUsuelle" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="stringSansDoubleQuotes">
<xsd:maxLength value="38"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:all>
<xsd:assert test="if (co:Traitement/co:Type = ('Modification')) then(co:IdeC/text()!='') else (true())">
<xsd:annotation>
<xsd:documentation> Contrainte d'une modification de contact : IdeC obligatoire <IdeC/>.
</xsd:documentation>
</xsd:annotation>
</xsd:assert>
<xsd:assert test="if (co:Traitement/co:Type = ('Creation')) then(not(co:IdeC)) else (true())">
<xsd:annotation>
<xsd:documentation> Contrainte d'une création de contact : pas d'IdeC <IdeC/>.
</xsd:documentation>
</xsd:annotation>
</xsd:assert>
</xsd:complexType>
</xsd:element>


<xsd:element name="Adresse">
<xsd:annotation>
<xsd:documentation> Adresse d'une <UniteEnquetee/>, d'un <Contact/> ou de
<Gestionnaires/>. Une adresse doit être valide selon les critères de LaPoste (cf.
ci-dessous). </xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:all>
<xsd:element name="NumeroVoie" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:pattern value="[' ']{0,1}|[0-9]+([ \-]?[à\-]?[ \-]?[0-9]+)*"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="IndiceRepetition" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:union>
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:enumeration value=""/>
<xsd:enumeration value="bis"/>
<xsd:enumeration value="quater"/>
<xsd:enumeration value="quinquies"/>
<xsd:enumeration value="ter"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:pattern value="[A-Z]"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:union>
</xsd:simpleType>
</xsd:element>
<xsd:element name="TypeVoie" type="typeTypeVoie" minOccurs="0" maxOccurs="1"/>
<xsd:element name="LibelleVoie" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="typeLibelleAdresse">
<xsd:maxLength value="40"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="ComplementAdresse" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="stringSansDoubleQuotes">
<xsd:maxLength value="38"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MentionSpeciale" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="typeLibelleAdresse">
<xsd:maxLength value="26"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>

<xsd:element name="CodePostal" nillable="true" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="stringSansDoubleQuotes">
<xsd:pattern value="[0-9A-Z]{0,5}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="LibelleCommune" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:maxLength value="32"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BureauDistributeur" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:maxLength value="32"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CodeCedex" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="stringSansDoubleQuotes">
<xsd:pattern value="[0-9A-Z]{0}|[0-9A-Z]{5}"/>
</xsd:restriction>
</xsd:simpleType>

</xsd:element>
<xsd:element name="LibelleCedex" minOccurs="0" maxOccurs="1">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:maxLength value="32"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CodeCommune" type="xsd:token" minOccurs="0" maxOccurs="1"/>
<xsd:element name="LibellePays" type="typeLibellePays" minOccurs="0" maxOccurs="1"/>
</xsd:all>
<xsd:assert
test="
if (co:LibellePays = 'France' or normalize-space(co:LibellePays) = '') then
(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()) = ''))
else
true()">
<xsd:annotation>
<xsd:documentation> Contrainte de validité d'une <Adresse/> : S'il s'agit d'une
adresse en France, il faut soit un <LibelleCedex/> et un <CodeCedex/>, soit
un <CodePostal/> et un <LibelleCommune/> ou un <BureauDistributeur/>.
</xsd:documentation>
</xsd:annotation>
</xsd:assert>
</xsd:complexType>
</xsd:element>

<xsd:element name="AdresseMessagerie">
<xsd:simpleType>
<xsd:restriction base="xsd:token">
<xsd:maxLength value="80"/>
<!--ancienne regle, pour revenir en arrière en cas de souci-->
<!--<xsd:pattern value="[' ']{0,1}|[^\.@ ]([\.]?[^\.@ ]+)*@[^\.@ ]([\.]?[^\.@ ]+)*[\.][^\.@ ]([\.]?[^\.@ ]+)*"/>-->
<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,}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>

<xsd:element name="Gestionnaire">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Nom" type="typeNomPrenom" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation> Il s'agit du nom d'un gestionnaire, moins contraint que
le nom d'un contact (d'où la déclaration locale). </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="Prenom" type="typeNomPrenom" minOccurs="0" maxOccurs="1"/>
<xsd:element name="Telephone" type="typeTelFax" minOccurs="0"/>
<xsd:element name="TelephonePortable" type="typeTelFax" minOccurs="0"/>
<xsd:element name="FacSimile" type="typeTelFax" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

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

<!--***********************************************
Informations relatives à la personnalisation des questionnaires
***********************************************-->
<xsd:element name="InformationsPersonnalisees">
<xsd:complexType>
<xsd:annotation>
<xsd:documentation>C'est le conteneur utilisé pour les informations de
personnalisation des questionnaires et/ou de réponses des répondants. Il peut
contenir une liste de groupe ou également directement la liste des variables
dans les cas les plus simples (la majorité). </xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="Variable" maxOccurs="unbounded"/>
<xsd:element ref="Groupe" maxOccurs="unbounded"/>
</xsd:choice>
</xsd:complexType>
</xsd:element>

<xsd:element name="Groupe">
<xsd:annotation>
<xsd:documentation>Un groupe est un conteneur générique permettant de constituer des
regroupements 'typés' de variables (ou d'autres groupes) et d'y associer d'éventuels
informations textuelles (libellé, instruction, etc.). L'objectif est de proposer une
structure générique permettant de couvrir des modèles simples avec envoi d'une liste
à plat de variables et des modèles plus complexes (EMB notamment) où une
hiérarchisation complexes des variables est nécessaire, à cause d'une
personnalisation très fine du questionnaire.</xsd:documentation>
<xsd:documentation>Il peut contenir soit une liste de variable, soit, respectivement,
une liste éventuelle de 'Description' (infomations textuelles) et une liste d'autres
groupes.</xsd:documentation>
<xsd:documentation>Il possède également comme attribut un 'id' qui permet d'identifier
le groupe de manière unique (ex: un identifiant d'activité qui est un regroupement
de variables), et un type qui permet d'identifier précisément la sémantique du
regroupement (ex: activité).</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" ref="Libelle"/>
<xsd:element maxOccurs="unbounded" minOccurs="0" ref="Description"/>
<xsd:choice>
<xsd:element minOccurs="0" maxOccurs="unbounded" ref="Groupe"/>
<xsd:element minOccurs="0" ref="Variable" maxOccurs="unbounded"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="idGroupe" type="xsd:token"/>
<xsd:attribute name="typeGroupe" type="xsd:token"/>
</xsd:complexType>
</xsd:element>

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

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

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

<xsd:element name="Valeur">
<xsd:annotation>
<xsd:documentation>Une valeur est une chaîne texte identifiée (inutile ??) et typée
contenant soit une valeur à initialiser dans un questionnaire, soit une réponse
extraite.</xsd:documentation>
<xsd:documentation>Elle a comme attribut un identifiant (inutile ???) et un type (qui
permet notamment de distinguer les valeurs initiales de celles correspondantes à des
réponses)</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="idValeur" type="xsd:string" use="optional"/>
<xsd:attribute name="type">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value=""/>
<xsd:enumeration value="Ancienne"/>
<xsd:enumeration value="Nouvelle"/>
<xsd:enumeration value="ancienne"/>
<xsd:enumeration value="nouvelle"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>


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

<xsd:simpleType name="typeIdCampagne">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="A00"/>
<xsd:enumeration value="X00"/>
<xsd:enumeration value="S01"/>
<xsd:enumeration value="S02"/>
<xsd:enumeration value="T01"/>
<xsd:enumeration value="T02"/>
<xsd:enumeration value="T03"/>
<xsd:enumeration value="T04"/>
<xsd:enumeration value="M01"/>
<xsd:enumeration value="M02"/>
<xsd:enumeration value="M03"/>
<xsd:enumeration value="M04"/>
<xsd:enumeration value="M05"/>
<xsd:enumeration value="M06"/>
<xsd:enumeration value="M07"/>
<xsd:enumeration value="M08"/>
<xsd:enumeration value="M09"/>
<xsd:enumeration value="M10"/>
<xsd:enumeration value="M11"/>
<xsd:enumeration value="M12"/>
<xsd:enumeration value="B01"/>
<xsd:enumeration value="B02"/>
<xsd:enumeration value="B03"/>
<xsd:enumeration value="B04"/>
<xsd:enumeration value="B05"/>
<xsd:enumeration value="B06"/>
</xsd:restriction>
</xsd:simpleType>


<xsd:simpleType name="typeTypeVoie">
<xsd:restriction base="xsd:token">
<xsd:enumeration value=""/>
<xsd:enumeration value="Allée"/>
<xsd:enumeration value="Avenue"/>
<xsd:enumeration value="Boulevard"/>
<xsd:enumeration value="Carrefour"/>
<xsd:enumeration value="Chaussée"/>
<xsd:enumeration value="Chemin"/>
<xsd:enumeration value="Chemin communal"/>
<xsd:enumeration value="Chemin départemental"/>
<xsd:enumeration value="Chemin rural"/>
<xsd:enumeration value="Cheminement"/>
<xsd:enumeration value="Cité"/>
<xsd:enumeration value="Corniche"/>
<xsd:enumeration value="Cours"/>
<xsd:enumeration value="Descente"/>
<xsd:enumeration value="Domaine"/>
<xsd:enumeration value="Ecart"/>
<xsd:enumeration value="Esplanade"/>
<xsd:enumeration value="Faubourg"/>
<xsd:enumeration value="Grand Rue"/>
<xsd:enumeration value="Halle"/>
<xsd:enumeration value="Hameau"/>
<xsd:enumeration value="Impasse"/>
<xsd:enumeration value="Jetée"/>
<xsd:enumeration value="Lieu-dit"/>
<xsd:enumeration value="Lotissement"/>
<xsd:enumeration value="Marché"/>
<xsd:enumeration value="Montée"/>
<xsd:enumeration value="Parvis"/>
<xsd:enumeration value="Passage"/>
<xsd:enumeration value="Place"/>
<xsd:enumeration value="Plaine"/>
<xsd:enumeration value="Plateau"/>
<xsd:enumeration value="Porte"/>
<xsd:enumeration value="Promenade"/>
<xsd:enumeration value="Quai"/>
<xsd:enumeration value="Quartier"/>
<xsd:enumeration value="Résidence"/>
<xsd:enumeration value="Rocade"/>
<xsd:enumeration value="Rond-point"/>
<xsd:enumeration value="Route"/>
<xsd:enumeration value="Route départementale"/>
<xsd:enumeration value="Route nationale"/>
<xsd:enumeration value="Rue"/>
<xsd:enumeration value="Ruelle"/>
<xsd:enumeration value="Sente"/>
<xsd:enumeration value="Sentier"/>
<xsd:enumeration value="Sente - Sentier"/>
<xsd:enumeration value="Square"/>
<xsd:enumeration value="Terrasse"/>
<xsd:enumeration value="Terre-plein"/>
<xsd:enumeration value="Traverse"/>
<xsd:enumeration value="Tertre"/>
<xsd:enumeration value="Villa"/>
<xsd:enumeration value="Village"/>
<xsd:enumeration value="Voie communale"/>
</xsd:restriction>

</xsd:simpleType>

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

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



<xsd:simpleType name="typeLibellePays">
<xsd:restriction base="xsd:token">
<xsd:enumeration value=""/>
<xsd:enumeration value="Afghanistan"/>
<xsd:enumeration value="Afrique du Sud"/>
<xsd:enumeration value="Albanie"/>
<xsd:enumeration value="Algérie"/>
<xsd:enumeration value="Allemagne"/>
<xsd:enumeration value="Andorre"/>
<xsd:enumeration value="Angola"/>
<xsd:enumeration value="Anguilla"/>
<xsd:enumeration value="Antarctique"/>
<xsd:enumeration value="Antigua-et-Barbuda"/>
<xsd:enumeration value="Arabie saoudite"/>
<xsd:enumeration value="Argentine"/>
<xsd:enumeration value="Arménie"/>
<xsd:enumeration value="Aruba"/>
<xsd:enumeration value="Australie"/>
<xsd:enumeration value="Autriche"/>
<xsd:enumeration value="Azerbaïdjan"/>
<xsd:enumeration value="Bahamas"/>
<xsd:enumeration value="Bahreïn"/>
<xsd:enumeration value="Bangladesh"/>
<xsd:enumeration value="Barbade"/>
<xsd:enumeration value="Bélarus"/>
<xsd:enumeration value="Belgique"/>
<xsd:enumeration value="Belize"/>
<xsd:enumeration value="Bénin"/>
<xsd:enumeration value="Bermudes"/>
<xsd:enumeration value="Bhoutan"/>
<xsd:enumeration value="Bolivie (État plurinational de)"/>
<xsd:enumeration value="Bonaire, Saint-Eustache et Saba"/>
<xsd:enumeration value="Bosnie-Herzégovine"/>
<xsd:enumeration value="Botswana"/>
<xsd:enumeration value="Brésil"/>
<xsd:enumeration value="Brunéi Darussalam"/>
<xsd:enumeration value="Bulgarie"/>
<xsd:enumeration value="Burkina Faso"/>
<xsd:enumeration value="Burundi"/>
<xsd:enumeration value="Cabo Verde"/>
<xsd:enumeration value="Cambodge"/>
<xsd:enumeration value="Cameroun"/>
<xsd:enumeration value="Canada"/>
<xsd:enumeration value="Chili"/>
<xsd:enumeration value="Chine"/>
<xsd:enumeration value="Chine, région administrative spéciale de Macao"/>
<xsd:enumeration value="Chypre"/>
<xsd:enumeration value="Colombie"/>
<xsd:enumeration value="Comores"/>
<xsd:enumeration value="Congo"/>
<xsd:enumeration value="Congo (République démocratique du)"/>
<xsd:enumeration value="Corée (République de)"/>
<xsd:enumeration value="Corée (République populaire démocratique de)"/>
<xsd:enumeration value="Costa Rica"/>
<xsd:enumeration value="Côte d'Ivoire"/>
<xsd:enumeration value="Croatie"/>
<xsd:enumeration value="Cuba"/>
<xsd:enumeration value="Curaçao"/>
<xsd:enumeration value="Danemark"/>
<xsd:enumeration value="Djibouti"/>
<xsd:enumeration value="Dominique"/>
<xsd:enumeration value="Égypte"/>
<xsd:enumeration value="El Salvador"/>
<xsd:enumeration value="Émirats arabes unis"/>
<xsd:enumeration value="Équateur"/>
<xsd:enumeration value="Érythrée"/>
<xsd:enumeration value="Espagne"/>
<xsd:enumeration value="Estonie"/>
<xsd:enumeration value="États-Unis d'Amérique"/>
<xsd:enumeration value="Éthiopie"/>
<xsd:enumeration value="Fidji"/>
<xsd:enumeration value="Finlande"/>
<xsd:enumeration value="France"/>
<xsd:enumeration value="Gabon"/>
<xsd:enumeration value="Gambie"/>
<xsd:enumeration value="Géorgie"/>
<xsd:enumeration value="Géorgie du Sud-et-les Îles Sandwich du Sud"/>
<xsd:enumeration value="Ghana"/>
<xsd:enumeration value="Gibraltar"/>
<xsd:enumeration value="Grèce"/>
<xsd:enumeration value="Grenade"/>
<xsd:enumeration value="Groenland"/>
<xsd:enumeration value="Groland"/>
<xsd:enumeration value="Guadeloupe"/>
<xsd:enumeration value="Guam"/>
<xsd:enumeration value="Guatemala"/>
<xsd:enumeration value="Guernesey"/>
<xsd:enumeration value="Guinée"/>
<xsd:enumeration value="Guinée équatoriale"/>
<xsd:enumeration value="Guinée-Bissau"/>
<xsd:enumeration value="Guyana"/>
<xsd:enumeration value="Guyane française"/>
<xsd:enumeration value="Haïti"/>
<xsd:enumeration value="Honduras"/>
<xsd:enumeration value="Hongrie"/>
<xsd:enumeration value="Île de Man"/>
<xsd:enumeration value="Île Heard-et-Îles MacDonald"/>
<xsd:enumeration value="Île Norfolk"/>
<xsd:enumeration value="Îles Caïmanes"/>
<xsd:enumeration value="Îles Cocos/ Îles Keeling"/>
<xsd:enumeration value="Îles Cook"/>
<xsd:enumeration value="Îles d' Åland"/>
<xsd:enumeration value="Îles Féroé"/>
<xsd:enumeration value="Îles Mariannes du Nord"/>
<xsd:enumeration value="Îles Marshall"/>
<xsd:enumeration value="Îles mineures éloignées des Etats-Unis"/>
<xsd:enumeration value="Îles Salomon"/>
<xsd:enumeration value="Îles Svalbard et Jan Mayen"/>
<xsd:enumeration value="Îles Turques et Caïques"/>
<xsd:enumeration value="Îles Vierges américaines"/>
<xsd:enumeration value="Îles Vierges britanniques"/>
<xsd:enumeration value="Îles Wallis et Futuna"/>
<xsd:enumeration value="Inde"/>
<xsd:enumeration value="Indonésie"/>
<xsd:enumeration value="Iran (République islamique d')"/>
<xsd:enumeration value="Iraq"/>
<xsd:enumeration value="Irlande"/>
<xsd:enumeration value="Islande"/>
<xsd:enumeration value="Israël"/>
<xsd:enumeration value="Italie"/>
<xsd:enumeration value="Jamaïque"/>
<xsd:enumeration value="Japon"/>
<xsd:enumeration value="Jordanie"/>
<xsd:enumeration value="Kazakhstan"/>
<xsd:enumeration value="Kenya"/>
<xsd:enumeration value="Kirghizistan"/>
<xsd:enumeration value="Kiribati"/>
<xsd:enumeration value="Koweït"/>
<xsd:enumeration value="Lao (République démocratique populaire)"/>
<xsd:enumeration value="Le Jersey"/>
<xsd:enumeration value="Lesotho"/>
<xsd:enumeration value="Lettonie"/>
<xsd:enumeration value="Liban"/>
<xsd:enumeration value="Libéria"/>
<xsd:enumeration value="Libye"/>
<xsd:enumeration value="Liechtenstein"/>
<xsd:enumeration value="Lituanie"/>
<xsd:enumeration value="Luxembourg"/>
<xsd:enumeration value="Luxembourg"/>
<xsd:enumeration value="Macédoine (Ex-République yougoslave de)"/>
<xsd:enumeration value="Malaisie"/>
<xsd:enumeration value="Malawi"/>
<xsd:enumeration value="Maldives"/>
<xsd:enumeration value="Mali"/>
<xsd:enumeration value="Malte"/>
<xsd:enumeration value="Maroc"/>
<xsd:enumeration value="Martinique"/>
<xsd:enumeration value="Maurice"/>
<xsd:enumeration value="Mauritanie"/>
<xsd:enumeration value="Mayotte"/>
<xsd:enumeration value="Mexique"/>
<xsd:enumeration value="Micronésie (États fédérés de)"/>
<xsd:enumeration value="Moldova (République de)"/>
<xsd:enumeration value="Monaco"/>
<xsd:enumeration value="Monténégro"/>
<xsd:enumeration value="Montserrat"/>
<xsd:enumeration value="Mongolie"/>
<xsd:enumeration value="Mozambique"/>
<xsd:enumeration value="Myanmar"/>
<xsd:enumeration value="Namibie"/>
<xsd:enumeration value="Nauru"/>
<xsd:enumeration value="Népal"/>
<xsd:enumeration value="Nicaragua"/>
<xsd:enumeration value="Niger"/>
<xsd:enumeration value="Nigéria"/>
<xsd:enumeration value="Nioué"/>
<xsd:enumeration value="Norvège"/>
<xsd:enumeration value="Nouvelle-Calédonie"/>
<xsd:enumeration value="Nouvelle-Zélande"/>
<xsd:enumeration value="Oman"/>
<xsd:enumeration value="Ouganda"/>
<xsd:enumeration value="Ouzbékistan"/>
<xsd:enumeration value="Pakistan"/>
<xsd:enumeration value="Palaos"/>
<xsd:enumeration value="Palestine (État de)"/>
<xsd:enumeration value="Panama"/>
<xsd:enumeration value="Papouasie-Nouvelle-Guinée"/>
<xsd:enumeration value="Paraguay"/>
<xsd:enumeration value="Pays-Bas"/>
<xsd:enumeration value="Pérou"/>
<xsd:enumeration value="Philippines"/>
<xsd:enumeration value="Pitcairn"/>
<xsd:enumeration value="Pologne"/>
<xsd:enumeration value="Polynésie française"/>
<xsd:enumeration value="Porto Rico"/>
<xsd:enumeration value="Portugal"/>
<xsd:enumeration value="Qatar"/>
<xsd:enumeration value="République arabe syrienne"/>
<xsd:enumeration value="République centrafricaine"/>
<xsd:enumeration value="République dominicaine"/>
<xsd:enumeration value="République tchèque"/>
<xsd:enumeration value="République-Unie de Tanzanie"/>
<xsd:enumeration value="Réunion"/>
<xsd:enumeration value="Roumanie"/>
<xsd:enumeration value="Royaume-Uni de Grande-Bretagne et d'Irlande du Nord"/>
<xsd:enumeration value="Russie (Fédération de)"/>
<xsd:enumeration value="Rwanda"/>
<xsd:enumeration value="Sahara occidental"/>
<xsd:enumeration value="Saint-Barthélemy"/>
<xsd:enumeration value="Sainte-Hélène"/>
<xsd:enumeration value="Sainte-Lucie"/>
<xsd:enumeration value="Saint-Kitts-et-Nevis"/>
<xsd:enumeration value="Saint-Marin"/>
<xsd:enumeration value="Saint-Martin (partie française)"/>
<xsd:enumeration value="Saint-Martin (partie néerlandaise)"/>
<xsd:enumeration value="Saint-Pierre-et-Miquelon"/>
<xsd:enumeration value="Saint-Siège (État de la Cité du Vatican)"/>
<xsd:enumeration value="Saint-Vincent-et-les Grenadines"/>
<xsd:enumeration value="Samoa"/>
<xsd:enumeration value="Samoas américaines"/>
<xsd:enumeration value="Sénégal"/>
<xsd:enumeration value="Serbie (la)"/>
<xsd:enumeration value="Seychelles"/>
<xsd:enumeration value="Sierra Leone"/>
<xsd:enumeration value="Singapour"/>
<xsd:enumeration value="Slovaquie"/>
<xsd:enumeration value="Slovénie"/>
<xsd:enumeration value="Somalie"/>
<xsd:enumeration value="Soudan"/>
<xsd:enumeration value="Soudan du Sud"/>
<xsd:enumeration value="Sri Lanka"/>
<xsd:enumeration value="Suède"/>
<xsd:enumeration value="Suisse"/>
<xsd:enumeration value="Suriname"/>
<xsd:enumeration value="Swaziland"/>
<xsd:enumeration value="Tadjikistan"/>
<xsd:enumeration value="Taïwan (Province de Chine)"/>
<xsd:enumeration value="Tchad"/>
<xsd:enumeration value="Terres australes françaises"/>
<xsd:enumeration value="Territoire britannique de l'océan Indien"/>
<xsd:enumeration value="Thaïlande"/>
<xsd:enumeration value="Timor-Leste"/>
<xsd:enumeration value="Togo"/>
<xsd:enumeration value="Tokélaou"/>
<xsd:enumeration value="Tonga"/>
<xsd:enumeration value="Trinité-et-Tobago"/>
<xsd:enumeration value="Tunisie"/>
<xsd:enumeration value="Turkménistan"/>
<xsd:enumeration value="Turquie"/>
<xsd:enumeration value="Tuvalu"/>
<xsd:enumeration value="Ukraine"/>
<xsd:enumeration value="Uruguay"/>
<xsd:enumeration value="Vanuatu"/>
<xsd:enumeration value="Venezuela (République bolivarienne du)"/>
<xsd:enumeration value="Viet Nam"/>
<xsd:enumeration value="Yémen"/>
<xsd:enumeration value="Zambie"/>
<xsd:enumeration value="Zimbabwe"/>
</xsd:restriction>
</xsd:simpleType>

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