Ce document étend la bibliothèque de types, d'éléments et d'attributs XML permettant de représenter le Code Officiel Géographique dans l'espace de noms de l'INSEE de manière à contrôler la liste des valeurs acceptées.
La définition formelle de cette bibliothèque est réalisée sous la forme d'un schéma W3C XML Schema, les listes de codes étant formalisées au moyen de la facette "xs:enumeration".
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 région sous forme d'un type simple est la suivante:
§1.
<xs:simpleType name="CodeRegionType"> <xs:restriction base="ie:CodeRegionType"> <xs:enumeration value="01" dc:title="Guadeloupe"/> <xs:enumeration value="02" dc:title="Martinique"/> <xs:enumeration value="03" dc:title="Guyane"/> <xs:enumeration value="04" dc:title="Réunion"/> <xs:enumeration value="11" dc:title="Île-de-France"/> <xs:enumeration value="21" dc:title="Champagne-Ardenne"/> <xs:enumeration value="22" dc:title="Picardie"/> <xs:enumeration value="23" dc:title="Haute-Normandie"/> <xs:enumeration value="24" dc:title="Centre"/> <xs:enumeration value="25" dc:title="Basse-Normandie"/> <xs:enumeration value="26" dc:title="Bourgogne"/> <xs:enumeration value="31" dc:title="Nord-Pas-de-Calais"/> <xs:enumeration value="41" dc:title="Lorraine"/> <xs:enumeration value="42" dc:title="Alsace"/> <xs:enumeration value="43" dc:title="Franche-Comté"/> <xs:enumeration value="52" dc:title="Pays de la Loire"/> <xs:enumeration value="53" dc:title="Bretagne"/> <xs:enumeration value="54" dc:title="Poitou-Charentes"/> <xs:enumeration value="72" dc:title="Aquitaine"/> <xs:enumeration value="73" dc:title="Midi-Pyrénées"/> <xs:enumeration value="74" dc:title="Limousin"/> <xs:enumeration value="82" dc:title="Rhône-Alpes"/> <xs:enumeration value="83" dc:title="Auvergne"/> <xs:enumeration value="91" dc:title="Languedoc-Roussillon"/> <xs:enumeration value="93" dc:title="Provence-Alpes-Côte d'Azur"/> <xs:enumeration value="94" dc:title="Corse"/> </xs:restriction> </xs:simpleType>
Ce type peut être affecté dans un schéma pour définir des éléments ou attributs contenant des codes région, par exemple :
§2.
<xs:element name="mon-element-code-region" type="ie:CodeRegionType"/>
Les éléments ou attributs ainsi définis peuvent ensuite être utilisés dans des documents XML, par exemple :
§3.
<ex:mon-element-code-region>23</ex:mon-element-code-region>
La définition d'un code département sous forme d'un type simple est la suivante:
§4.
<xs:simpleType name="CodeDepartementType"> <xs:restriction base="ie:CodeDepartementType"> <xs:enumeration value="01" dc:title="Ain"/> <xs:enumeration value="02" dc:title="Aisne"/> <xs:enumeration value="03" dc:title="Allier"/> <xs:enumeration value="04" dc:title="Alpes-de-Haute-Provence"/> <xs:enumeration value="05" dc:title="Hautes-Alpes"/> <xs:enumeration value="06" dc:title="Alpes-Maritimes"/> <xs:enumeration value="07" dc:title="Ardèche"/> <xs:enumeration value="08" dc:title="Ardennes"/> <xs:enumeration value="09" dc:title="Ariège"/> <xs:enumeration value="10" dc:title="Aube"/> <xs:enumeration value="11" dc:title="Aude"/> <xs:enumeration value="12" dc:title="Aveyron"/> <xs:enumeration value="13" dc:title="Bouches-du-Rhône"/> <xs:enumeration value="14" dc:title="Calvados"/> <xs:enumeration value="15" dc:title="Cantal"/> <xs:enumeration value="16" dc:title="Charente"/> <xs:enumeration value="17" dc:title="Charente-Maritime"/> <xs:enumeration value="18" dc:title="Cher"/> <xs:enumeration value="19" dc:title="Corrèze"/> <xs:enumeration value="2A" dc:title="Corse-du-Sud"/> <xs:enumeration value="2B" dc:title="Haute-Corse"/> <xs:enumeration value="21" dc:title="Côte-d'Or"/> <xs:enumeration value="22" dc:title="Côtes-d'Armor"/> <xs:enumeration value="23" dc:title="Creuse"/> <xs:enumeration value="24" dc:title="Dordogne"/> <xs:enumeration value="25" dc:title="Doubs"/> <xs:enumeration value="26" dc:title="Drôme"/> <xs:enumeration value="27" dc:title="Eure"/> <xs:enumeration value="28" dc:title="Eure-et-Loir"/> <xs:enumeration value="29" dc:title="Finistère"/> <xs:enumeration value="30" dc:title="Gard"/> <xs:enumeration value="31" dc:title="Haute-Garonne"/> <xs:enumeration value="32" dc:title="Gers"/> <xs:enumeration value="33" dc:title="Gironde"/> <xs:enumeration value="34" dc:title="Hérault"/> <xs:enumeration value="35" dc:title="Ille-et-Vilaine"/> <xs:enumeration value="36" dc:title="Indre"/> <xs:enumeration value="37" dc:title="Indre-et-Loire"/> <xs:enumeration value="38" dc:title="Isère"/> <xs:enumeration value="39" dc:title="Jura"/> <xs:enumeration value="40" dc:title="Landes"/> <xs:enumeration value="41" dc:title="Loir-et-Cher"/> <xs:enumeration value="42" dc:title="Loire"/> <xs:enumeration value="43" dc:title="Haute-Loire"/> <xs:enumeration value="44" dc:title="Loire-Atlantique"/> <xs:enumeration value="45" dc:title="Loiret"/> <xs:enumeration value="46" dc:title="Lot"/> <xs:enumeration value="47" dc:title="Lot-et-Garonne"/> <xs:enumeration value="48" dc:title="Lozère"/> <xs:enumeration value="49" dc:title="Maine-et-Loire"/> <xs:enumeration value="50" dc:title="Manche"/> <xs:enumeration value="51" dc:title="Marne"/> <xs:enumeration value="52" dc:title="Haute-Marne"/> <xs:enumeration value="53" dc:title="Mayenne"/> <xs:enumeration value="54" dc:title="Meurthe-et-Moselle"/> <xs:enumeration value="55" dc:title="Meuse"/> <xs:enumeration value="56" dc:title="Morbihan"/> <xs:enumeration value="57" dc:title="Moselle"/> <xs:enumeration value="58" dc:title="Nièvre"/> <xs:enumeration value="59" dc:title="Nord"/> <xs:enumeration value="60" dc:title="Oise"/> <xs:enumeration value="61" dc:title="Orne"/> <xs:enumeration value="62" dc:title="Pas-de-Calais"/> <xs:enumeration value="63" dc:title="Puy-de-Dôme"/> <xs:enumeration value="64" dc:title="Pyrénées-Atlantiques"/> <xs:enumeration value="65" dc:title="Hautes-Pyrénées"/> <xs:enumeration value="66" dc:title="Pyrénées-Orientales"/> <xs:enumeration value="67" dc:title="Bas-Rhin"/> <xs:enumeration value="68" dc:title="Haut-Rhin"/> <xs:enumeration value="69" dc:title="Rhône"/> <xs:enumeration value="70" dc:title="Haute-Saône"/> <xs:enumeration value="71" dc:title="Saône-et-Loire"/> <xs:enumeration value="72" dc:title="Sarthe"/> <xs:enumeration value="73" dc:title="Savoie"/> <xs:enumeration value="74" dc:title="Haute-Savoie"/> <xs:enumeration value="75" dc:title="Paris"/> <xs:enumeration value="76" dc:title="Seine-Maritime"/> <xs:enumeration value="77" dc:title="Seine-et-Marne"/> <xs:enumeration value="78" dc:title="Yvelines"/> <xs:enumeration value="79" dc:title="Deux-Sèvres"/> <xs:enumeration value="80" dc:title="Somme"/> <xs:enumeration value="81" dc:title="Tarn"/> <xs:enumeration value="82" dc:title="Tarn-et-Garonne"/> <xs:enumeration value="83" dc:title="Var"/> <xs:enumeration value="84" dc:title="Vaucluse"/> <xs:enumeration value="85" dc:title="Vendée"/> <xs:enumeration value="86" dc:title="Vienne"/> <xs:enumeration value="87" dc:title="Haute-Vienne"/> <xs:enumeration value="88" dc:title="Vosges"/> <xs:enumeration value="89" dc:title="Yonne"/> <xs:enumeration value="90" dc:title="Territoire de Belfort"/> <xs:enumeration value="91" dc:title="Essonne"/> <xs:enumeration value="92" dc:title="Hauts-de-Seine"/> <xs:enumeration value="93" dc:title="Seine-Saint-Denis"/> <xs:enumeration value="94" dc:title="Val-de-Marne"/> <xs:enumeration value="95" dc:title="Val-d'Oise"/> <xs:enumeration value="971" dc:title="Guadeloupe"/> <xs:enumeration value="972" dc:title="Martinique"/> <xs:enumeration value="973" dc:title="Guyane"/> <xs:enumeration value="974" dc:title="Réunion"/> </xs:restriction> </xs:simpleType>
Ce type peut être affecté dans un schéma pour définir des éléments ou attributs contenant des codes département, par exemple :
§5.
<xs:element name="mon-element-code-departement" type="ie:CodeDepartementType"/>
Les éléments ou attributs ainsi définis peuvent ensuite être utilisés dans des documents XML, par exemple :
§6.
<ex:mon-element-code-departement>80</ex:mon-element-code-departement>
Ce module affine la définition des types simples correspondant aux codes région et département le module COG en contrôlant les valeurs au moyen de la facette W3C XML Schema "xs:enumeration". La liste des valeurs utilisée est celle en vigueur à la date de publication du module.
Son utilisation est conseillée lorsque l'on veut valider des codes région ou département par rapport à cette liste de valeurs et pour des applications pouvant accepter le surcroît de mémoire nécessaire au chargement de ces valeurs par le processeur de schéma utilisé.
Les applications soumises à de fortes contraintes au niveau de la mémoire disponible ou souhaitant accepter des codes régions ou département supprimés, réservés ou à venir devraient plutôt utiliser directement le module COG.
Les facettes "xs:enumeration" ont été annotées par des attributs "dc:title" reprenant le nom des régions et département de manière à ce que le schéma puisse également être utilisé comme une formalisation XML des codes région et département.
Les documents suivants sont disponibles pour téléchargement.
[Document]
§7.
<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:redefine schemaLocation="cog.xsd"> §1.Type CodeRegionType §4.Type CodeDepartementType </xs:redefine> </xs:schema>
Schéma validant les exemples utilisant les définitions de types :
[Document]
§8.
<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="2.0"> <xs:import namespace="http://xml.insee.fr/schema" schemaLocation="cog-enum.xsd"/> §2.Type CodeRegionType §5.Type CodeDepartementType <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]
§9.
<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-cog-enum-types.xsd"> §3.Type CodeRegionType §6.Type CodeDepartementType </ex:exemples>
Les documents et sites de référence suivants ont été utilisés pour la constitution de ce vocabulaire XML.
La section "Code officiel géographique 2007" du site de l'INSEE regroupe les définitions du Code officiel géographique.
Les ressources suivantes sont définies ou référencées dans ce document :