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.
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
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
§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>
§23.
<xs:element name="Code_Pays_ISO" type="ie:Code_Pays_ISO_stype" ie:obsolete="true"/>
§24.
<xs:attribute name="Code_Pays_ISO" type="ie:Code_Pays_ISO_stype" ie:obsolete="true"/>
§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>
§26.
<xs:element name="Code_Pays_ISO_A3" type="ie:Code_Pays_ISO_A3_stype" ie:obsolete="true"/>
§27.
<xs:attribute name="Code_Pays_ISO_A3" type="ie:Code_Pays_ISO_A3_stype" ie:obsolete="true"/>
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.
Les documents suivants sont disponibles pour téléchargement.
[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>
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>
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>
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>
Les documents et sites de référence suivants ont été utilisés pour la constitution de ce vocabulaire XML.
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.
La liste des codes ISO 3166-1 A2 est publié sous différents formats sur le site de l'ISO.
Les ressources suivantes sont définies ou référencées dans ce document :