Dictionnaire des données du PES Retour

Ce chapitre fournit une présentation progressive, par domaine fonctionnel, des entités utilisées dans le cadre du Protocole d'Echange, indépendamment des modalités de transmission les concernant.

Pour visualiser le détail des types simples élémentaires du PES Retour, cliquez sur le bouton :

Représentation des données élémentaires

Le paragraphe qui suit est applicable à la modélisation des données du PES retour (espaces de noms "propriétaires" et ne concerne pas les données associées à l'utilisation des schémas normalisés.

Généralités

Les données élémentaires représentent les structures atomiques à partir desquelles les structures plus complexes (classes, messages) sont construites.

Ces données élémentaires sont représentées sous forme d'éléments vides XML accompagnés d'un attribut de nom V dont le contenu est la valeur de la donnée.

Exemple : <CodePostal V="75001"/>

Les types XML de données correspondant sont construits sous forme de types complexes XML dont le rôle est de déclarer l'attribut V. Cet attribut est lui-même un type simple XML construit à partir des types préconstruit XML auxquels peuvent s'appliquer des contraintes (facettes).

Le tableau suivant présente dans ce cadre les correspondances suivantes :


Type de données Définition Type préconstruit XML Facettes Nom du type XML
Alphanumérique Chaîne de nombre et de lettres de taille maximale = X.

Les caractères autorisés sont uniquement :
  • les lettres de a à z (minuscule et majuscule),
  • les chiffres de 0 à 9.

Le champ :
  • peut être vide.
string - maxLength
- pattern
Base_AlphanumX



Numérique Entier de taille maximale = X, sous forme de chaine de caractères.

Les 0 à gauche sont significatifs et comptabilisés dans la taille.

Par exemple,
  • 00015 a une taille = 5.
  • 15 a une taille = 2.
  • 150 a une taille = 3.
string - maxLength
- pattern
Base_NumX



Décimal Montant Nombre décimal comportant au maximum 14 chiffres dont 2 chiffres après la virgule.

Les 0 à gauche sont non significatifs et non comptabilisés dans la taille.
decimal - totalDigits
- fractionDigits
Base_Montant



Texte Chaîne de lettres et de nombres de taille maximale = X. string - maxlength Base_TexteX



Alphanumérique Tiers Chaîne de taille maximale = 15 et de taille minimale = 9. string - maxLength
- minLength
Base_Texte9_15



Année Année au format AAAA gyear   Base_Annee



Booléen Choix de quatre valeurs possibles (0, 1, TRUE ou FALSE) boolean   Base_Booleen



Date Date au format AAAA-MM-JJ date   Base_Date



Bloc de déclaration des types élémentaires

Nous précisons dans les paragraphes suivants les blocs de déclarations associés à ces types élémentaires.

Ces derniers sont regroupés dans un même schéma XML "simple_type.xsd". Ce schéma est lui même incorporé inclus (directive "xsd:include") dans la classe Class_SchemasCommunsRetour (cf. ici) associée à l'espace de noms d'URI "http://www.minefi.gouv.fr/cp/commun/retour"

Types de données

Variable de type alphanumérique

Exemple : <IdPost V="1234AB"/>

La modélisation XML d'une chaîne alphanumérique de longueur maximale max se fait comme suit :

<xs:complexType name="Base_Alphanummax">
  <xs:attribute name="V" type="V_Alphanummax" use="required"/>
</xs:complexType">
<xs:simpleType name="V_Alphanummax">
  <xs:restriction base="xs:string">
    <xs:maxLength value="max"/>
    <xs:pattern value="[0-9a-zA-Z]*"/>
  </xs:restriction">
</xs:simpleType">

Variable de type numérique

Exemple : <CleRib V="00"/>

La modélisation XML d'une chaîne numérique de longueur maximale max se fait comme suit :

<xs:complexType name="Base_Nummax">
  <xs:attribute name="V" type="V_Nummax" use="required"/>
</xs:complexType>
<xs:simpleType name="V_Nummax">
  <xs:restriction base="xs:string">
    <xs:maxLength value="max"/>
    <xs:pattern value="[0-9]*"/>
  </xs:restriction>
</xs:simpleType>

Variable de type décimal montant

Exemple : <MtPayTot V="1254.67"/>

Ce type de variable est défini dans comme décimal avec 14 chiffres maximum, dont deux après la virgule et strictement positif.

La modélisation XML se présente comme suit :

<xs:complexType name="Base_Montant">
  <xs:attribute name="V" type="V_Montant" use="required"/>
</xs:complexType">
<xs:simpleType name="V_Montant">
  <xs:restriction base="xs:decimal">
    <xs:totalDigits value="14"/>
    <xs:fractionDigits value="2"/>
  </xs:restriction>
</xs:simpleType>

Variable de type texte

Exemple : <Objet V="Ceci est un texte"/>

La modélisation XML d'une variable de type texte avec une longueur maximale max se fait comme suit :

<xs:complexType name="Base_Textemax">
  <xs:attribute name="V" type="V_Textemax" use="required"/>
</xs:complexType">
<xs:simpleType name="V_Textemax">
  <xs:restriction base="xs:string">
    <xs:maxLength value="max"/>
  </xs:restriction>
</xs:simpleType>

Variable de type Alphanumérique Tiers

Exemple : <IdTiers V="123456789"/>

La modélisation XML d'une variable de type Alphanumérique Tiers se fait comme suit :

<xs:complexType name="Base_Texte9_15">
  <xs:attribute name="V" type="V_Texte9_15" use="required"/>
</xs:complexType">
<xs:simpleType name="V_Texte9_15">
  <xs:restriction base="xs:string">
    <xs:maxLength value="15"/>
    <xs:minLength value="9"/>
  </xs:restriction>
</xs:simpleType>

Variable Année

Exemple : <Exercice V="2013"/>

Ce type de variable est défini comme Date au format AAAA.

La modélisation XML se présente comme suit :

<xs:complexType name="Base_Annee"/>
  <xs:attribute name="V" type="V_Annee" use="required"/>
</xs:complexType"/>
<xs:simpleType name="V_Annee"/>
  <xs:restriction base="xs:gYear"/>
</xs:simpleType"/>

Variable booléen

Exemple : <MarAlim V="1"/>

La modélisation XML se présente comme suit :

<xs:complexType name="Base_Booleen"/>
  <xs:attribute name="V" type="V_Booleen" use="required"/>
</xs:complexType"/>
<xs:simpleType name="V_Booleen"/>
  <xs:restriction base="xs:boolean"/>
</xs:simpleType"/>

Variable Date

Exemple : <DtePcePEC V="2013-12-04"/>

Ce type de variable est défini comme Date au format AAAA-MM-JJ.

La modélisation XML se présente comme suit :

<xs:complexType name="Base_Date"/>
  <xs:attribute name="V" type="V_Date" use="required"/>
</xs:complexType"/>
<xs:simpleType name="V_Date"/>
  <xs:restriction base="xs:date"/>
</xs:simpleType"/>