1.Introduction

Ce document présente une bibliothèque de types, d'éléments et d'attributs XML permettant de représenter les codes ISO pays et nationalités dans l'espace de noms de l'INSEE.

La définition formelle de cette bibliothèque est réalisée sous la forme d'un schéma W3C XML Schema.

Certains objets présentés ici ont été introduits dans la première version de l'espace de noms, et obéissent à des règles de nommage qui ont été depuis abandonnées. Ils ont été remplacés par des types équivalents respectant les nouvelles règles et sont indiqués ci-dessous comme d'usage déconseillé. Ils seront supprimés dans les prochaines versions de l'espace de noms.

1.1.Espace de noms INSEE

Les types, éléments et attributs décrits décrit dans ce module font partie de l'espace de noms INSEE : http://xml.insee.fr/schema

1.2.Conditions d'utilisation

Cette documentation et les ressources qui en dépendent (schémas, exemples, transformations XSLT) sont soumises aux conditions d'utilisation des informations publiées sur le site de l'INSEE.

2.Table des matières

3.Description

Code pays
Les "codes pays" publiés par l'ISO sous la référence ISO 3166-1 sont élaborés à partir d'une liste de pays établie par les Nations Unies sous trois formes strictement équivalentes (numérique à 3 chiffres et alphabétiques à 2 et 3 caractères). Dans les trois cas, les codes identifient la même liste d'entités. Bien que ces entités regroupent en janvier 2008 193 pays mais également 53 territoires d'intérêt géographique particulier, il est d'usage d'appeler "codes pays ISO" les codes ISO 3166-1.
Code pays numérique
Le code ISO 3166-1 "numérique 3" associe un numéro à trois chiffres à chaque entité. Étant purement numérique, il est utilisable quel que soit l'alphabet utilisé et est, pour cette raison, utilisé dans des contextes où des caractères non latins sont utilisés. Ce code est attribué par la division des statistiques des Nations-Unies et connu comme le 'codage statistique normalisé des pays, zones et régions (M49)'. Étant peu utilisé en France, il n'a pas été intégré aux types de données définis dans l'espace de noms de l'INSEE.
Code pays alpha-2 (A2)
Le code ISO 3166-1 "alpha-2" (ou A2) associe un code à deux caractères à chaque entité. Ces deux caractères sont choisis de manière à être facilement associables au pays qu'ils désignent (par exemple "FR" pour la France). Très utilisé, ce code est recommandé par de nombreux autres organismes de normalisation et notamment par le W3C pour l'identification des pays et des langues sur le Web.
Code pays alpha-3 (A3)
Le code ISO 3166-1 "alpha-3" (ou A3) associe un code à trois caractères à chaque entité. Il a été conçu par l'ISO pour permettre une meilleure "association visuelle entre le nom de pays et le codet que ne le permet le code alpha-2".
Code nationalité
Ce code a été défini par l'organisation internationale de l'aviation civile (OACI) dans son document n° 9303, partie 1, volume 1, annexe 7 (sixième édition 2007). Il est repris par l'ISO dans l'annexe 4 de la norme 7501-1 portant sur les passeports (Machine Readable Travel Documents) pour identifier la nationalité et est donc appelé dans la suite "code nationalité ISO" pour cette raison. Ce code reprend largement le code ISO 3166-1 alpha 3 et n'en diffère que sur les points suivants :
. Pour l'Allemagne : D pour l'OACI 9303, DEU pour l'ISO 31661-A3
. Pour le Royaume Uni : six codes pour l'OACI 9303, GBR uniqument pour l'ISO 31661-A3
. Les codes XOM, XCC, UNO, UNA, UNK, XXA, XXB, XXC et XXX sont présents uniquement dans les parties B, C et D du document de l'OACI et ne correspondent à aucun code alpha-3 de l'ISO 3166-1. Il servent dans certains passeports de nature pseudo-diplomatique pouvant être reconnus sans correspondre à une nationalité determinée (XOM, XCC), dans des passeports diplomatiques "internationaux" délivrés à leurs officiels par l'ONU et certaines de ses agences specialisées (UNO, UNA, UNK), ou enfin pour qualifier les personnes ayant un statut d'apatride, de réfugié, etc., ne disposant d'aucune nationalité (XXA, XXB, XXC et XXD).

4.Codes pays ISO 3166-1 A2

4.1.Type CodePaysIsoType

La définition d'un code pays ISO (ISO 3166-1 A2) sous forme d'un type simple est la suivante :

§1.

          <xs:simpleType name="CodePaysIsoType">
            <xs:restriction base="xs:token">
              <xs:length value="2"/>
              <xs:pattern value="[A-Z]{2}"/>
            </xs:restriction>
          </xs:simpleType>
        

Ce type peut être affecté dans un schéma pour définir des éléments ou attributs contenant des codes pays, par exemple :

§2.

          <xs:element name="mon-element-code-pays-iso"
                      type="ie:CodePaysIsoType"/>
        

Les éléments ou attributs ainsi définis peuvent ensuite être utilisés dans des documents XML, par exemple

§3.

          <ex:mon-element-code-pays-iso>FR</ex:mon-element-code-pays-iso>
        

4.2.Élément CodePaysIso

La définition de l'élément CodePaysIso est la suivante :

§4.

          <xs:element name="CodePaysIso"
                      type="ie:CodePaysIsoType"/>
        

Les éléments CodePaysIso peuvent être utilisés directement dans des documents XML, par exemple

§5.

          <ex:pays>
            <ie:CodePaysIso>FR</ie:CodePaysIso>
            <ex:nom>France</ex:nom>
          </ex:pays>
        

4.3.Attribut codePaysIso

La définition de l'attribut codePaysIso est la suivante :

§6.

          <xs:attribute name="codePaysIso"
                        type="ie:CodePaysIsoType"/>
        

Les attributs codePaysIso peuvent être utilisés directement dans des documents XML, par exemple :

§7.

          <ex:pays ie:codePaysIso="FR">
            <ex:nom>France</ex:nom>
          </ex:pays>
        

5.Codes pays ISO 3166-1 A3

5.1.Type CodePaysIsoA3Type

La définition d'un code pays ISO (ISO 3166-1 A3) sous forme d'un type simple est la suivante :

§8.

          <xs:simpleType name="CodePaysIsoA3Type">
            <xs:restriction base="xs:token">
              <xs:length value="3"/>
              <xs:pattern value="[A-Z]{3}"/>
            </xs:restriction>
          </xs:simpleType>
        

Ce type peut être affecté dans un schéma pour définir des éléments ou attributs contenant des codes pays A3, par exemple :

§9.

          <xs:element name="mon-element-code-pays-iso-a3"
                      type="ie:CodePaysIsoA3Type"/>
        

Les éléments ou attributs ainsi définis peuvent ensuite être utilisés dans des documents XML, par exemple

§10.

          <ex:mon-element-code-pays-iso-a3>FRA</ex:mon-element-code-pays-iso-a3>
        

5.2.Élément CodePaysIsoA3

La définition de l'élément CodePaysIsoA3 est la suivante :

§11.

          <xs:element name="CodePaysIsoA3"
                      type="ie:CodePaysIsoA3Type"/>
        

Les éléments CodePaysIsoA3 peuvent être utilisés directement dans des documents XML, par exemple

§12.

          <ex:pays>
            <ie:CodePaysIsoA3>FRA</ie:CodePaysIsoA3>
            <ex:nom>France</ex:nom>
          </ex:pays>
        

5.3.Attribut codePaysIsoA3

La définition de l'attribut codePaysIsoA3 est la suivante :

§13.

          <xs:attribute name="codePaysIsoA3"
                        type="ie:CodePaysIsoA3Type"/>
        

Les attributs codePaysIsoA3 peuvent être utilisés directement dans des documents XML, par exemple :

§14.

          <ex:pays ie:codePaysIsoA3="FRA">
            <ex:nom>France</ex:nom>
          </ex:pays>
        

6.Codes nationalité ISO 7501-1

6.1.Type CodeNationaliteIso

La définition d'un code nationalité ISO sous forme d'un type simple est la suivante :

§15.

          <xs:simpleType name="CodeNationaliteIsoType">
            <xs:restriction base="xs:token">
              <xs:maxLength value="3"/>
              <xs:pattern value="[A-Z]*"/>
            </xs:restriction>
          </xs:simpleType>
        

Ce type peut être affecté dans un schéma pour définir des éléments ou attributs contenant des codes nationalité, par exemple :

§16.

          <xs:element name="mon-element-code-nationalite-iso"
                      type="ie:CodeNationaliteIsoType"/>
        

Les éléments ou attributs ainsi définis peuvent ensuite être utilisés dans des documents XML, par exemple

§17.

          <ex:mon-element-code-nationalite-iso>XXA</ex:mon-element-code-nationalite-iso>
        

6.2.Élément CodeNationaliteIso

La définition de l'élément CodeNationaliteIso est la suivante :

§18.

          <xs:element name="CodeNationaliteIso"
                      type="ie:CodeNationaliteIsoType"/>
        

Les éléments CodeNationaliteIso peuvent être utilisés directement dans des documents XML, par exemple

§19.

          <ex:personne>
            <ie:CodeNationaliteIso>XXA</ie:CodeNationaliteIso>
            <ex:nom>Alexander Grothendieck</ex:nom>
          </ex:personne>
        

6.3.Attribut codeNationaliteIso

La définition de l'attribut codeNationaliteIso est la suivante :

§20.

          <xs:attribute name="codeNationaliteIso"
                        type="ie:CodeNationaliteIsoType"/>
        

Les attributs codeNationaliteIso peuvent être utilisés directement dans des documents XML, par exemple :

§21.

          <ex:personne ie:codeNationaliteIso="XXA">
            <ex:nom>Alexander Grothendieck</ex:nom>
          </ex:personne>
        

7.Objets d'usage déconseillé

7.1.Type Code_Pays_ISO_stype

§22.

          <xs:simpleType name="Code_Pays_ISO_stype"
                         ie:obsolete="true">
            <xs:restriction base="xs:token">
              <xs:length value="2"/>
              <xs:pattern value="[A-Z]{2}"/>
            </xs:restriction>
          </xs:simpleType>
        

7.2.Élément Code_Pays_ISO

§23.

          <xs:element name="Code_Pays_ISO"
                      type="ie:Code_Pays_ISO_stype"
                      ie:obsolete="true"/>
        

7.3.Attribut Code_Pays_ISO

§24.

          <xs:attribute name="Code_Pays_ISO"
                        type="ie:Code_Pays_ISO_stype"
                        ie:obsolete="true"/>
        

7.4.Type Code_Pays_ISO_A3_stype

§25.

          <xs:simpleType name="Code_Pays_ISO_A3_stype"
                         ie:obsolete="true">
            <xs:restriction base="xs:token">
              <xs:length value="3"/>
              <xs:pattern value="[A-Z]{3}"/>
            </xs:restriction>
          </xs:simpleType>
        

7.5.Élément Code_Pays_ISO_A3

§26.

          <xs:element name="Code_Pays_ISO_A3"
                      type="ie:Code_Pays_ISO_A3_stype"
                      ie:obsolete="true"/>
        

7.6.Attribut Code_Pays_ISO_A3

§27.

          <xs:attribute name="Code_Pays_ISO_A3"
                        type="ie:Code_Pays_ISO_A3_stype"
                        ie:obsolete="true"/>
        

8.Conseils d'utilisation

8.1.Quand utiliser les types?

L'utilisation des éléments et attributs définis dans ce schéma permet de se baser directement sur leur nom (et espace de noms) pour les identifier et les valider.

L'utilisation des types simples définis dans ce schéma permet au contraire d'utiliser des noms d'attributs et d'éléments quelconques (et appartenant à des espaces de noms quelconques).

L'attribution de types à ces éléments et attributs permet de les valider en suivant les définitions de ce schéma.

Ces attributions sont également transmises aux applications supportant W3C XML Schema et son "Post Schema Validation Infoset" (PSVI) qui peuvent reconnaître qu'il s'agit des données d'identification définies par ce schéma.

9.Téléchargement

Les documents suivants sont disponibles pour téléchargement.

9.1.Schéma

[Document]

§28.

          <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                     xmlns:ie="http://xml.insee.fr/schema"
                     attributeFormDefault="qualified"
                     elementFormDefault="qualified"
                     targetNamespace="http://xml.insee.fr/schema"
                     version="2.0">
            <xs:include schemaLocation="insee-commun.xsd"/>
            §1.Type CodePaysIsoType
            §4.Élément CodePaysIso
            §6.Attribut codePaysIso
            §8.Type CodePaysIsoA3Type
            §11.Élément CodePaysIsoA3
            §13.Attribut codePaysIsoA3
            §15.Type CodeNationaliteIso
            §18.Élément CodeNationaliteIso
            §20.Attribut codeNationaliteIso
            <xs:annotation ie:obsolete="true">
              <xs:documentation>Les objets qui suivent sont obsolètes et seront supprimés dans les prochaines versions.</xs:documentation>
            </xs:annotation>
            §22.Type Code_Pays_ISO_stype
            §23.Élément Code_Pays_ISO
            §24.Attribut Code_Pays_ISO
            §25.Type Code_Pays_ISO_A3_stype
            §26.Élément Code_Pays_ISO_A3
            §27.Attribut Code_Pays_ISO_A3
          </xs:schema>
        

9.2.Exemples utilisant les types - schéma

Schéma validant les exemples utilisant les définitions de types :

[Document]

§29.

          <xs:schema xmlns:ex="http://dyomedea.com/ns/example"
                     xmlns:xs="http://www.w3.org/2001/XMLSchema"
                     xmlns:ie="http://xml.insee.fr/schema"
                     attributeFormDefault="unqualified"
                     elementFormDefault="qualified"
                     targetNamespace="http://dyomedea.com/ns/example"
                     version="1.0">
            <xs:import namespace="http://xml.insee.fr/schema"
                       schemaLocation="iso.xsd"/>
            §2.Type CodePaysIsoType
            §9.Type CodePaysIsoA3Type
            §16.Type CodeNationaliteIso
            <xs:element name="exemples">
              <xs:complexType>
                <xs:sequence>
                  <xs:any maxOccurs="unbounded"
                          minOccurs="0"
                          namespace="##targetNamespace"
                          processContents="strict"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:schema>
        

9.3.Exemples utilisant les types - document

Document XML regroupant les exemples utilisant les définitions de types simples et complexes :

[Document]

§30.

          <ex:exemples xmlns:ex="http://dyomedea.com/ns/example"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       xsi:schemaLocation="http://dyomedea.com/ns/example exemples-iso-types.xsd">
            §3.Type CodePaysIsoType
            §10.Type CodePaysIsoA3Type
            §17.Type CodeNationaliteIso
          </ex:exemples>
        

9.4.Exemples utilisant les éléments et attributs

Document XML regroupant les exemples utilisant les éléments et attributs :

[Document]

§31.

          <ex:exemples xmlns:ex="http://dyomedea.com/ns/example"
                       xmlns:ie="http://xml.insee.fr/schema">
            §5.Élément CodePaysIso
            §7.Attribut codePaysIso
            §12.Élément CodePaysIsoA3
            §14.Attribut codePaysIsoA3
            §19.Élément CodeNationaliteIso
            §21.Attribut codeNationaliteIso
          </ex:exemples>
        

10.Références

Les documents et sites de référence suivants ont été utilisés pour la constitution de ce vocabulaire XML.

10.1.Autorité de mise à jour de l'ISO 3166

La section "Autorité de mise à jour de l'ISO 3166 (ISO 3166/MA) - point focal de l'ISO pour les codes de pays" du site de l'ISO regroupe diverses informations concernant les standards ISO 3166 et notamment ISO 3166-1 utilisé pour la définition de ce vocabulaire XML.

10.2.Les listes de codes de l'ISO 3166

La liste des codes ISO 3166-1 A2 est publié sous différents formats sur le site de l'ISO.

11.Ressources

Les ressources suivantes sont définies ou référencées dans ce document :

11.1.Liste alphabétique

Attribut Code_Pays_ISO
Fonction : référence normative
Nature : XHTML
Attribut Code_Pays_ISO_A3
Fonction : référence normative
Nature : XHTML
Attribut codeNationaliteIso
Fonction : référence normative
Nature : XHTML
Attribut codePaysIso
Fonction : référence normative
Nature : XHTML
Attribut codePaysIsoA3
Fonction : référence normative
Nature : XHTML
Autorité de mise à jour de l'ISO 3166
Fonction : référence non normative
Nature : HTML
[Lien externe]
Conditions d'utilisation
Fonction : référence normative
Nature : HTML
[Lien externe]
Espace de noms INSEE
Fonction : espace de noms
Nature : XHTML
[Lien externe]
Exemples utilisant les types - document
Fonction : référence non normative
Nature : XML
Exemples utilisant les types - schéma
Fonction : référence non normative
Nature : W3C XML Schema
Exemples utilisant les éléments et attributs
Fonction : référence non normative
Nature : XML
Les listes de codes de l'ISO 3166
Fonction : référence normative
Nature : HTML
[Lien externe]
Schéma
Fonction : validation par schéma
Nature : W3C XML Schema
Type CodeNationaliteIso
Fonction : référence normative
Nature : XHTML
Type CodePaysIsoA3Type
Fonction : référence normative
Nature : XHTML
Type CodePaysIsoType
Fonction : référence normative
Nature : XHTML
Type Code_Pays_ISO_A3_stype
Fonction : référence normative
Nature : XHTML
Type Code_Pays_ISO_stype
Fonction : référence normative
Nature : XHTML
Élément CodeNationaliteIso
Fonction : référence normative
Nature : XHTML
Élément CodePaysIso
Fonction : référence normative
Nature : XHTML
Élément CodePaysIsoA3
Fonction : référence normative
Nature : XHTML
Élément Code_Pays_ISO
Fonction : référence normative
Nature : XHTML
Élément Code_Pays_ISO_A3
Fonction : référence normative
Nature : XHTML

11.2.Par catégories

Ressources internes

  • référence normative
  • Ressources externes

  • espace de noms
  • référence normative
  • référence non normative
  • validation par schéma