XIMF XML tags/fr

De Trustedbird Client Wiki

Introduction

Ce document propose un modèle de description, via eXtensible Markup Language (XML), d’entêtes de messages électroniques respectant la norme XIMF. Ce document a deux objectifs :

  1. Décrire les éléments et attributs de représentation XML pour construire des entêtes de messages électroniques de format XIMF.
  2. Fournir un modèle de représentation XIMF/XML.

Rappel :

  • Un "élément" fait référence à tous les caractères situés entre une balise de départ et un balise de fin, e.g.,
<exemple> texte et/ou éléments fils </exemple>
  • Un "attribut" est une composante d’un élément. Il est positionné dans la balise de départ, e.g.,
<exemple nom='value'>

Tous les éléments décrits dans cette documentation paragraphe sont validés dans l’espace de nom "ximf".

 xmlns:ximf="http://eads.org/ximf/" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://eads.org/ximf/ximf.xsd"

Description détaillée des balises XML

Par ordre d'apparition, les balises génériques associées aux différents fichiers XML

Fichier ximfmail-profile

TODO : Combien d'éléments ihm sont autorisés dans un élément instance ?

Un fichier xpi peut contenir plusieurs instances XIMF, celles-ci sont alors regroupées dans une même catégorie. Le fichier ximfmail-profile contient des informations sur toutes les instances contenues dans le xpi, notamment leur nom, leur chemin d'accès, ainsi que les noms des fichiers associés à chaque instance.

Element instance

L’élément "instance" identifie l’ensemble des entêtes à décrire selon la norme XIMF. C’est le conteneur principal d’une instance XIMF/XML. Cinq attributs précisent la balise "instance" : "ximfVersion", "version", "author", "creation", "name", e.g.,

<ximf:instance name="myInstance" version="1.0" ximfVersion="2.0" >
  • Détails sur les attributs de l'élément "instance" :
    • L’attribut "name" définit le nom de l’instance décrite. Cet attribut est obligatoire.
    • L’attribut "ximfVersion" définit le numéro de version des entêtes XIMF utilisés pour cette représentation. Cet attribut est obligatoire.
    • L’attribut "version" définit le numéro de version de l’instance décrite. Cet attribut est obligatoire.
    • L’attribut "author" renseigne sur le nom de l’auteur de cette instance.
    • L’attribut "creationDate" précise la date de création de cette instance.

L’élément "instance" peut contenir un ou plusieurs éléments "schema", un ou plusieurs éléments "rule", un élément ihm et un élément "dictionary".

Element dictionary

L'élément dictionary contient le chemin vers le fichier spécifiant les données d'internationalisation (Cf. Fichier dictionary).


Element schema

L'élément shema contient le chemin vers le fichier spécifiant les entêtes XIMF (Cf. Fichier headers).

Element ihm

L'élément ihm contient le chemin vers le fichier spécifiant la disposition de l'interface des formulaires XIMF (Cf. Fichier ihm).

Element rule

L'élément rule contient le chemin vers le fichier spécifiant les règles associées aux valeurs des champs XIMF (Cf. Fichier rules).


Fichier dictionnary

Le fichier dictionnary permet de mettre en œuvre l’internationalisation d’une instance XIMF. Il défini des dictionnaires qui servent à traduire les éléments de l'instance XIMF. On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui contient un élément "ximf:dictionnary".

Element ximf:dictionary

TODO : Quel est l'intérêt de renseigner un attribut "id" à l'élément "dictionary" (étant donné qu'un seul élément "dictionary n'est autorisé dans l'élément "instance") ?

L’élément "dictionary" contient toutes les informations devant être interprétées selon le pays d’utilisation. L’élément "dictionary" contient un ou plusieurs mêmes éléments "locale", e.g.,

<ximf:dictionary>
  <ximf:locale lang="fr-FR" />
  <ximf:locale lang="en-US" />
</ximf:dictionary>

Element ximf:locale

L’élément "locale" contient toutes les informations pour un pays et/ou langue désignée. L’élément "locale" contient un ou plusieurs mêmes éléments "ilk", e.g.,

<ximf:locale lang="fr-FR" >
  <ximf:ilk entity="a"/>	
  <ximf:ilk entity="b"/>
</ximf:locale> 
  • Détails sur les attributs de la balise "locale" :
    • L’attribut "lang" définit le code pays de ce container. Il devrai être construit selon le format défini par la RFC1766 (fr, en, ja, es, …).

Element ximf:ilk

L’élément "ilk" contient une unique information correspondant à une donnée traduite selon le code pays de l’élément père. Cette information est au format chaîne de caractère. Un attribut obligatoire précise la balise "ilk".

<ximf:ilk entity="ilk-lang-ihm">langue</ximf:ilk>
  • Détails sur les attributs de la balise "ilk" :
    • L’attribut "entity" définit la référence d’entrée pour récupérer le contenu de l’élément selon le code pays souhaité.


Finalement, le fichier "dictionary" pourra contenir :

<ximf:instance name="Whirlpool">
  <ximf:dictionary>
    <ximf:locale lang="fr-FR" >
      <ximf:ilk entity="ilk-lang-ihm">Français</ximf:ilk>
      <ximf:ilk entity="ilk-exemple-general">Général</ximf:ilk>
    </ximf:locale>
    <ximf:locale lang="en-US" >
      <ximf:ilk entity="ilk-lang-ihm">English (US)</ximf:ilk>
      <ximf:ilk entity="ilk-exemple-general">General</ximf:ilk>
     </ximf:locale> 	
  </ximf:dictionary>
</ximf:instance>


Fichier ihm

TODO : La documentation originale ne décrit pas le fichier ihm, les informations ci-dessous ont seulement été présumées. Merci de les compléter.

Le fichier ihm spécifie l'agencement de l'interface des formulaires XIMF. On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui contient un élément "ximf:ihm".

Element ximf:ihm

L'élément "ximf:ihm" contient un ou plusieurs éléments "ximf:panel" et un élément "ximf:treeRcv".

Element ximf:panel

Un élément ximf:panel correspond à un onglet du formulaire XIMF construit. Deux attributs précisent la balise "ximf:panel" : "id" et "ilk", eg.

<ximf:panel id="pane_security" ilk="ilk-priority-panel" />
  • Détails sur les attributs de l'élément "ximf:panel" :
    • L’attribut "id" définit le nom de l'onglet, il doit être unique pour chaque élément "ximf:panel" et est formaté selon la syntaxe "pane-xxx". Cet attribut est obligatoire.
    • L’attribut "ilk" définit une référence de label de présentation associé au champ XIMF.

L'élément "ximf:panel" contient au moins un éléments "ximf:groupbox".

Element ximf:groupbox

Un élément ximf:groupbox correspond à une sous catégorie d'un onglet du formulaire XIMF. La structure "ximf :groupbox" détaille l’ordre d’affichage des entêtes dans un message. Deux attributs précisent la balise "ximf:groupbox" : "id" et "ilk", eg.

<ximf:groupbox id="group-classification" ilk="ilk-secu-box" />
  • Détails sur les attributs de l'élément "ximf:groupbox" :
    • L’attribut "id" définit le nom de l'onglet, il doit être unique pour chaque élément "ximf:panel" et est formaté selon la syntaxe "pane-xxx". Cet attribut est obligatoire.
    • L’attribut "ilk" définit une référence de label de présentation associé au champ XIMF.

L'élément "ximf:groupbox" contient au moins un éléments "ximf:headerRef".

Element ximf:treeRcv

L'élément "ximf:treeRcv" permet de spécifier quelles sont les colonnes susceptibles d'être ajoutées dans le panneau principal du client de messagerie qui contient la liste des messages d’un dossier.

L'élément "ximf:treeRcv" peut contenir des éléments "ximf:headerRef".

Element ximf:headerRef

L'élément ximf:headerRef spécifie les champs associés à chaque sous-groupe d'onglet de formulaire ou les champs qu'il est possible d'afficher dans la liste des messages. Aucun attribut ne vient compléter la balise "ximf:headerRef", eg.

<ximf:headerRef>header-classification</ximf:headerRef>


Finalement, le fichier "ihm" pourra contenir :

 <ximf:instance name="intracedCD">
   <ximf:ihm>
     <ximf:panel id="pane_security" ilk="ilk-priority-panel">
       <ximf:groupbox id="group-classification" ilk="ilk-secu-box">
         <ximf:headerRef>header-correspondance-type</ximf:headerRef>
         <ximf:headerRef>header-classification</ximf:headerRef>			
       </ximf:groupbox>
     </ximf:panel>
     <ximf:treeRcv>
       <ximf:headerRef>header-classification</ximf:headerRef>
     </ximf:treeRcv>
   </ximf:ihm>
 </ximf:instance>


Fichier headers

Le fichier headers spécifie les types des champs de l'interface des formulaires XIMF. On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui contient des éléments "ximf:header".

Element ximf:header

Chaque élément "header" décrit un entête de message de format XIMF. Huit attributs précisent la balise "header", "headerName", "id", "technicalHeaderName", "type", "technicalType", "isMandatory", "ilk", "description", e.g.,

<ximf:header id="header-primary-precedence" 
  headerName="X-XIMF-Primary-Precedence" 
  ilk="ilk-primary-precedence" 
  isMandatory="true" 
  description="entête d’urgence" 
  type="string" />
  • Détails sur les attributs de l'élément "ximf:header" :
    • L’attribut "headerName" définit le nom du champ XIMF tel qu’il est décrit dans la RFC XIMF. Cet attribut est obligatoire.
    • L’attribut "id" définit un identifiant de champ, il doit être unique pour chaque élément "header" et est formaté selon la syntaxe "header-xxx". Cet attribut est obligatoire.
    • L’attribut "isMandatory" précise si ce champ doit être obligatoirement présent dans le message intégrant les entêtes selon cette description.
    • L’attribut "ilk" définit une référence de label de présentation associé au champ XIMF.
    • L’attribut "type" précise le format des données associées à cet élément. Ce format peut être une date, une chaîne, une adresse mail, un O.I.D.
    • L’attribut "technicalHeaderName" permet de compléter l’entête décrit par un autre entête.
    • L’attribut "technicalType" précise le format des données associées à l’élément technicalHeaderName.
    • L’attribut "description" permet d’ajouter une information sur cet élément.

L’élément "header" contient obligatoirement un élément "set", "multiset", "string", ou "compstring", e.g.,

<ximf:header id="header-reply-by" 
  headerName="X-XIMF-Reply-By" 
  ilk="ilk-reply-by" 
  isMandatory="false" >
    <ximf:string id="value-reply-by" editable="true" />
</ximf:header>

Elément ximf:string

L’élément "string" précise le contenu d’une ressource de type chaîne de caractères imprimables (a-z, A-Z, 1-9,…) Quinze attributs complètent l’élément "string", "id", "ref", "ilk", "aclLevel", "index", "description", "editable", "content", "technicalContent","maxItem", "minItem", "maxLength", "minLength", "separator", "technicalSeparator", e.g.,

<ximf:string ilk="ilk-france" content="FRA" />
  • Détails sur les attributs de l'élément "ximf:string" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "string".
    • L’attribut "ref" définit un identifiant de référence qui contient les valeurs à utiliser pour cet élément.
    • L’attribut "ilk" définit une référence de label de présentation internationalisé.
    • L’attribut "aclLevel" définit la valeur seuil d’accès à la donnée selon une règle de droit d’accès (cf. élément "role").
    • L’attribut "index" permet de définir un ordre de présentation par rapport à aux autres valeurs définies dans le même container.
    • L’attribut " description " permet d’associer un commentaire sur cette donnée.
    • L’attribut "editable" définit une valeur de saisie (champ libre). Cet attribut est de type booléen.
    • L’attribut "content" représente la valeur effective de la donnée. C’est cette donnée qui sera associée au champ XIMF créé.
    • L’attribut "technicalContent" représente la valeur effective de la donnée technique. C’est cette donnée qui sera associée au champ technique XIMF créé (cf. attribut technicalHeaderName de l’élément "header".
    • L’attribut "separator" définit le caractère de séparation entre deux valeurs (utile si l’attribute editable est positionné).
    • L’attribut "technicalseparator" définit le caractère de séparation entre deux valeurs (utile si l’attribute editable est positionné).
    • L’attribut "maxLength" définit le nombre maximal de caractères de la chaîne définie ou construite.
    • L’attribut "minLength" définit le nombre minimal de caractères de la chaîne définie ou construite.
    • L’attribut "maxItem" définit le nombre maximal de données associées pouvant être concaténées.
    • L’attribut "minItem" définit le nombre minimal de données associées pouvant être concaténées.

L’élément "string" peut contenir plusieurs éléments "linkedValue".

<ximf:string ilk="ilk-non-protege" content="NON PROTEGE" technicalContent="1" > <ximf:linkedValue ref="value-non-protege-france " /> </ximf:string>

Elément compstring

L’élément "compstring" décrit un conteneur de concaténation des éléments fils. Il permet notamment de créer des valeurs d’entêtes composées. Dix-sept attributs complètent l’élément "compstring", "id", "ref", "ilk", "aclLevel", "index", "description", "maxLength", "minLength", "maxItem", "minItem", "separator", "technicalSeparator", "content", "technicalContent", "contentPositionEnd", "contentFactorise", "technicalPositionEnd", e.g.,

<ximf:compstring 
  ilk="ilk-special" 
  content="SPECIAL" 
  technicalContent="1.3.4" 
  separator=" " 
  technicalSeparator=".">
  • Détails sur les attributs de l'élément "ximf:compstring" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "string".
    • L’attribut "ref" définit un identifiant de référence qui contient les valeurs à utiliser pour cet élément.
    • L’attribut "ilk" définit une référence de label de présentation internationalisé.
    • L’attribut "aclLevel" définit la valeur seuil d’accès à la donnée selon une règle de droit d’accès (cf. élément "role").
    • L’attribut "index" permet de définir un ordre de présentation par rapport à aux autres valeurs définies dans le même container.
    • L’attribut " description " permet d’associer un commentaire sur cette donnée.
    • L’attribut "content" représente la valeur effective de la donnée. C’est cette donnée qui sera associée au champ XIMF créé.
    • L’attribut "technicalContent" représente la valeur effective de la donnée technique. C’est cette donnée qui sera associée au champ technique XIMF créé (cf. attribut technicalHeaderName de l’élément "header".
    • L’attribut "separator" définit le caractère de séparation entre deux valeurs.
    • L’attribut "technicalseparator" définit le caractère de séparation entre deux valeurs.
    • L’attribut "maxLength" définit le nombre maximal de caractères de la chaîne définie ou construite.
    • L’attribut "minLength" définit le nombre minimal de caractères de la chaîne définie ou construite.
    • L’attribut "maxItem" définit le nombre maximal de données associées pouvant être concaténées.
    • L’attribut "minItem" définit le nombre minimal de données associées pouvant être concaténées.
    • L’attribut "contentPositionEnd" impose de positionner le contenu de l’élément "compstring" après les valeurs des éléments fils : valuefils1,valuefils2 : valuecompstring.
    • L’attribut "technicalPositionEnd" impose de positionner le contenu de l’élément "compstring" après les valeurs des éléments fils.
    • L’attribut "contentFactorise" impose d’utiliser le contenu de l’élément "compstring" comme facteur des éléments fils : valuecompstring(valuefils1,valuefils2).

L’élément "compstring" peut contenir un élément "string" ou "set" ou "multiset" ou plusieurs éléments "compstring".

<ximf:compstring 
  ilk="ilk-special" 
  content="SPECIAL" 
  technicalContent="1.3.4" 
  separator=" " 
  technicalSeparator=".">
    <ximf:set id="ilk-special-op " maxItem="64">
      <ximf:string ilk="ilk-special-op1" content="OP1" technicalContent="1" />
      <ximf:string ilk="ilk-special-op2" content="OP2" technicalContent="2" />
      <ximf:string ilk="ilk-special-op3" content="OP3" technicalContent="3" />
    </ximf:set>		
</ximf:compstring>

Elément set

L’élément "set" décrit un conteneur de ressources de même type. Cet élément autorise la sélection de plusieurs ressources mais chaque ressource est sélectionnée une seule fois. Douze attributs précisent la description de la balise "set", "id", "ref", "ilk", "aclLevel", "index", "description", "maxLength", "minLength", "maxItem", "minItem", "separator", "technicalSeparator", e.g.,

<ximf:set id="value-categories" ref="value-mentions" maxItem="64" separator=";" />
  • Détails sur les attributs de l'élément "ximf:set" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "ximf:string".
    • L’attribut "ref" définit un identifiant de référence qui contient les valeurs à utiliser pour cet élément.
    • L’attribut "ilk" définit une référence de label de présentation internationalisé.
    • L’attribut "aclLevel" définit la valeur seuil d’accès à la donnée selon une règle de droit d’accès (Cf. élément rôle).
    • L’attribut "index" permet de définir un ordre de présentation par rapport à aux autres valeurs définies dans le même container.
    • L’attribut "description" permet d’associer un commentaire sur cette donnée.
    • L’attribut "maxLength" définit le nombre maximal de caractères de la chaîne définie ou construite.
    • L’attribut "minLength" définit le nombre minimal de caractères de la chaîne définie ou construite.
    • L’attribut "maxItem" définit le nombre maximal de données associées pouvant être concaténées.
    • L’attribut "minItem" définit le nombre minimal de données associées pouvant être concaténées.
    • L’attribut "separator" définit le caractère de séparation entre deux valeurs (utile si l’attribute editable est positionné).
    • L’attribut "technicalseparator" définit le caractère de séparation entre deux valeurs

L’élément "set" peut contenir un ou plusieurs éléments "string" ou un ou plusieurs éléments "compstring".

<ximf:set id="value-categories" minItem="1" maxItem="64" separator=";">
  <ximf:string ilk="ilk-releasable-to" content="RELEASABLE TO " />
  <ximf:string ilk="ilk-eyes-only" content=" EYES ONLY"/>
  <ximf:string ilk="ilk-use-only" content=" USE ONLY"/>
</ximf:set>

Elément multiset

L’élément "multiset" décrit un conteneur de ressources de même type. Cet élément autorise la sélection de plusieurs ressources et chaque ressource peut être sélectionnée plusieurs fois. Douze attributs précisent la description de la balise "set", "id", "ref", "ilk", "aclLevel", "index", "description", "maxLength", "minLength", "maxItem", "minItem", "separator", "technicalSeparator", e.g.,

<ximf:multiset id="value-restricted" ilk=" value-restricted-otan" maxItem="64" separator=";" />
  • Détails sur les attributs de l'élément "ximf:multiset" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "string".
    • L’attribut "ref" définit un identifiant de référence qui contient les valeurs à utiliser pour cet élément.
    • L’attribut "ilk" définit une référence de label de présentation internationalisé.
    • L’attribut "aclLevel" définit la valeur seuil d’accès à la donnée selon une règle de droit d’accès (cf. élément "role").

L’attribut "index" permet de définir un ordre de présentation par rapport à aux autres valeurs définies dans le même container. L’attribut "description" permet d’associer un commentaire sur cette donnée. L’attribut "maxLength" définit le nombre maximal de caractères de la chaîne définie ou construite. L’attribut "minLength" définit le nombre minimal de caractères de la chaîne définie ou construite. L’attribut "maxItem" définit le nombre maximal de données associées pouvant être concaténées. L’attribut "minItem" définit le nombre minimal de données associées pouvant être concaténées. L’attribut "separator" définit le caractère de séparation entre deux valeurs (utile si l’attribute editable est positionné). L’attribut "technicalseparator" définit le caractère de séparation entre deux valeurs


L’élément "multiset" peut contenir un ou plusieurs éléments "string" ou un ou plusieurs éléments "compstring".

<ximf:multiset id="value-restricted-otan-categories" minItem="1" maxItem="64" separator=";" > <ximf:string ilk="ilk-releasable-to" content="RELEASABLE TO "/> <ximf:string ilk="ilk-eyes-only" content=" EYES ONLY"/> <ximf:string ilk="ilk-use-only" content=" USE ONLY"/> </ximf:multiset>

L’élément linkedValue L’élément "linkvalue" définit une référence sur une ressource de type container (set, multiset) ou string. Cette ressource devrait être utilisée si la ressource contenant "linkvalue" (noeud parent) est sélectionnée.

Un attribut précise la balise "linkvalue", "ref", e.g.,

<ximf:linkedValue ref="value-restricted-otan-classification-id" />

L’attribut "ref" précise la valeur de l’attribut "id" de la ressource cible. Cet attribut est obligatoire.

Fichier rules

...