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

Voici, par ordre d'apparition et en fonction des fichiers, les balises génériques associées aux différents fichiers XML.

Fichier ximfmail-profile

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). Un seul élément ihm est chargé par instance.

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 dictionary

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 dictionary

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

Element 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 conteneur. Il devrai être construit selon le format défini par la RFC1766 (fr, en, ja, es, …).

Element 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

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 ihm

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

Element panel

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

<ximf:panel id="pane_security" ilk="ilk-priority-panel" />
  • Détails sur les attributs de l'élément "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 groupbox

Un élément groupbox correspond à une sous catégorie d'un onglet du formulaire XIMF. La structure "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 "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 "groupbox" contient au moins un éléments "headerRef".

Element treeRcv

L'élément "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 "treeRcv" peut contenir des éléments "headerRef".

Element headerRef

L'élément 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 "headerRef", eg.

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


Finalement, le fichier "ihm" pourra contenir :

 <ximf:instance name="Amoco">
   <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 "header".

Element 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 "header" :
    • L’attribut "headerName" définit le nom du champ 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>

Note : Il est possible de spécifier un champ d'en-tête XIMF avec une valeur prédéfinie. L'utilisateur ne peut pas modifier la valeur de ce champ, aucun élément de l'interface ne sera ajouté. Pour ce faire, il faut spécifier un élément ximf:header ne contenant pas d'attribut "ilk" et proposant un choix unique de valeur (l’élément fils est ximf:string). Dans ce cas, le moteur XIMF prend le header en compte comme une valeur technique à envoyer directement, sans la présenter à l'utilisateur.

Element 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 "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 conteneur.
    • 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>

Element 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 "compstring" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "compstring".
    • 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 conteneur.
    • 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>

Element 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 "set" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "ximf:set".
    • 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 conteneur.
    • 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>

Element 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 "multiset" : "id", "ref", "ilk", "aclLevel", "index", "description", "maxLength", "minLength", "maxItem", "minItem", "separator", "technicalSeparator", e.g.,

<ximf:multiset 
  id="value-restricted" 
  ilk=" ilk-value-restricted" 
  maxItem="64" 
  separator=";" />
  • Détails sur les attributs de l'élément "multiset" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "multiset".
    • 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 conteneur.
    • 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-example-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>

Element linkedValue

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

<ximf:linkedValue ref="value-restricted-example-classification-id" />
  • Détails sur les attributs de l'élément "linkedValue" :
    • L’attribut "ref" précise la valeur de l’attribut "id" de la ressource cible. Cet attribut est obligatoire.

Fichier rules

Le fichier rules définit les règles de contrôles d’entêtes XIMF. On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui peut contenir des éléments "ximf:rule".

Element rule

L’élément "rule" est le conteneur principal de description d’un comportement particulier à appliquer sur un ensemble d’entêtes XIMF. Trois attributs précisent la balise "rule" : "id", "agent", "description", e.g.,

<ximf:rule id="compatibility-rule" description="Règle sur la compatibilité X-SMTP / XIMF" >
  • Détails sur les attributs de l'élément "rule" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "rule". Cet attribut est obligatoire.
    • L’attribut "agent" indique l’équipement cible devant analyser et appliquer le contenu de cet élément.
    • L’attribut "description" autorise l’auteur d’ajouter un commentaire sur cet élément.

L’élément "rule" contient un ou plusieurs mêmes éléments de spécialisation de la règle "contraint", "assignement", "processing", "compatibility", "accessibility", "custom",…, e.g.,

<ximf:rule id="precedence-rule" agent="mua" description="Règle sur les priorités">
  <ximf:constraint 
    left="header-primary-precedence" 
    operator="equalOrGreaterThan" 
    right="header-copy-precedence" />
</ximf:rule>

Element aliasHeader

L’élément "aliasHeader" permet de définir le nom de l’entête sur lequel la règle précisée est appliquée Deux attributs précisent la balise "aliasHeader" : "headerName" et "headerRef", e.g.,

<ximf:aliasHeader headerName ="X-P772-Version" headerRef="X-XIMF-VERSION" />	
  • Détails sur les attributs de l'élément "aliasHeader" :
  • L’attribut "headerName" définit le nom XIMF de l’entête modifié par la règle. Cet attribut est obligatoire.
  • L’attribut "headerRef" définit le nom d’un entête XIMF de référence qui est le point d’entrée de l’application de la règle sur l’entête définit par "headerName". Cela permet de lier deux entêtes de messages où l’utilisation de l’un des entêtes influe sur le comportement de l’autre.

L’élément "aliasHeader" peut contenir des éléments "aliasValue",e.g ,

<ximf:aliasHeader headerName="X-P772-Version" />
  <ximf:aliasValue vame="1.0"/>		
<ximf:aliasHeader>

Element aliasValue

L’élément "aliasValue" contient une valeur à associer à l’entête XIMF contrôlé par la règle. Il est utile lorsque deux entêtes sont liées (utilisation de l’attribut headerRef dans l’élément aliasHeader) et que les valeurs de l’entêtes de référence permettent de préciser celles de l’entête contrôlé. Deux attributs précisent la balise "aliasValue" : "valueName", "valueRef", e.g.,

<ximf:aliasValue valueName="2" valueRef="flash" />			
  • Détails sur les attributs de l'élément "aliasValue" :
    • L’attribut "valueName" définit la valeur de l’entête à créer. Cet attribut est obligatoire.
    • L’attribut "valueRef" définit la valeur de l’entête XIMF de référence pour utiliser valueName.

Element compatibility

L’élément "compatibility" est utilisé pour associer à un entête respectant la norme XIMF un entête respectant une autre norme que XIMF (XSMTP par exemple). Deux attributs précisent la balise "compatibility" : "targetName", "targetVersion", e.g.,

<ximf:compatibility targetName="X-SMTP" targetVersion="1.1">
  <ximf:aliasValue headerName="X-P772-Version" content="1.1" />		
  <ximf:aliasValue 
    headerName="X-P772-Primary-Precedence" 
    headerRef="header-primary-precedence" 
    dataRef="data-priority-xsmtp"/>
</ximf:compatibility>
  • Détails sur les attributs de l'élément "compatibility" :
    • L’attribut "targetName" définit la norme de l’entête à associer à l’entête XIMF. Cet attribut est obligatoire.
    • L’attribut "targetVersion" définit le numéro de version de la norme de l’entête à associer à l’entête XIMF. Cet attribut est obligatoire.

L’élément "compatibility" contient au moins un élément "aliasHeader".

Pour illustrer cette règle : Le format XSMTP est déjà supporté par certains équipements. Afin de rendre ceux-ci inter opérables avec le nouveau format XIMF, cette règle permet d’associer un entête XSMTP contenant les mêmes informations qu’un entête XIMF.

L’élément Association : dépendance entre entêtes L’élément "association" définie les valeurs autorisées pour un entête XIMF en fonction d’une valeur définie pour un autre entête XIMF.

<ximf:association>
    <ximf:aliasHeader 
      headerName="X-XIMF-Primary-Precedence" 
      headerRef="X-XIMF-Correspondence-Type">
    <ximf:aliasValue valueName="routine" valueRef="private" />
    <ximf:aliasValue valueName="routine,priority" valueRef="professional" />
    <ximf:aliasValue valueName="routine,priority,immediate,flash" valueRef="operational" />
    <ximf:aliasValue valueName="routine,priority,immediate" valueRef="official" />
  </ximf:aliasHeader>
</ximf:association>

Element secureHeaders

L’élément "secureHeaders" définie la liste des entêtes à intégrer dans la signature d’un message. Cette règle s’applique sur les équipements proposant un algorithme de signature des messages.

Un élément "secureHeaders" contient un ou plusieurs éléments "aliasHeaders" où chaque élément décrit un entête à intégrer dans la signature et complété d’un attribut "status".

<ximf:secureHeaders targetName="SecureHeaders">			
  <ximf:aliasHeader headerName="X-XIMF-Primary-Precedence"  status="0" />
  <ximf:aliasHeader headerName="X-XIMF-Copy-Precedence" status="0" />
</ximf:secureHeaders>

Element securityLabel

L’élément "securityLabel" définie la liste des entêtes à intégrer dans la signature d’un message. Cette règle s’applique sur les équipements proposant un algorithme de signature des messages selon la norme RFC.

Un élément "securityLabel" contient un ou plusieurs éléments "aliasHeaders" où chaque élément décrit un entête à intégrer dans la signature et complété d’un attribut "status".

<ximf:securityLabel targetName="SecurityLabel" id="Amoco">
  <ximf:aliasHeader 
    headerName="SecurityPolicyIdentifier" 
    headerRef="X-XIMF-Security-Policy-Identifier" />			
  <ximf:aliasHeader 
    headerName="SecurityClassification" 
    headerRef="X-XIMF-Security-Classification-Identifier" />							
  <ximf:aliasHeader 
    headerName="ESSPrivacyMark" 
    headerRef="X-XIMF-Privacy-Mark" />
  <ximf:aliasHeader 
    headerName="SecurityCategory" 
    headerRef="X-XIMF-Security-Categories-Identifier" 
    type="2" />
</ximf:securityLabel>	

Element constraint 

L’élément "constraint" est utilisé pour définir une règle de construction de deux entêtes partageant des "datas" identiques. Trois attributs précisent la balise "constraint" : "left", "right", "operator", e.g.,

<ximf:constraint 
  left="header-primary-precedence" 
  operator="equalOrGreaterThan" 
  right="header-copy-precedence" />
  • Détails sur les attributs de l'élément "constraint" :
    • L’attribut "left" désigne le premier élément "header" de comparaison. Cet attribut est obligatoire.
    • L’attribut "right" désigne le deuxième élément "header" de comparaison. Cet attribut est obligatoire.
    • L’attribut "operator" indique la règle de poids à appliquer sur la valeur des deux éléments "header", il peut être de type "greaterThan", "lowerThan", "equalOrGreaterThan", "equalOrLowerThan", "equal". Cet attribut est obligatoire.
  • Détails sur les valeurs possibles de l'attribut "type" :
    • Le type "greaterThan" signifie que la valeur de l’élément "left" doit être strictement supérieur à la valeur de l’élément "right".
    • Le type "lowerThan" signifie que la valeur de l’élément "left" doit être strictement inférieur à la valeur de l’élément "right".
    • Le type "equalOrGreaterThan" signifie que la valeur de l’élément "left" doit être supérieur ou égale à la valeur de l’élément "right".
    • Le type "equalOrLowerThan" signifie que la valeur de l’élément "left" doit être inférieur ou égale à la valeur de l’élément "right".
    • Le type "equal" signifie que la valeur de l’élément "left" et de l’élément "right" doivent être identiques.

Element assignment

L’élément "assignement" est utilisé pour affecter une valeur créée en fonction d’une règle de comparaison sur les valeurs de deux éléments "header". Quatre attributs précisent la balise "assignement" : "left", "right", "operator", "result", e.g.,

<ximf:assignment 
  left="header-primary-precedence"
  operator="equal" 
  right="data-routine-precedence" 
  result="86400" />
  • Détails sur les attributs de l'élément "assignment" :
    • L’attribut "left" désigne le premier élément "header" de comparaison. Cet attribut est obligatoire.
    • L’attribut "right" désigne le deuxième élément "header" de comparaison. Cet attribut est obligatoire.
    • L’attribut "operator" indique la règle de comparaison entre les valeurs des deux éléments "header", il peut être de type "greaterThan", "lowerThan", "equalOrGreaterThan", "equalOrLowerThan", "equal". Cet attribut est obligatoire.
    • L’attribut "result" représente la valeur à utiliser si la règle de comparaison entre les deux éléments est satisfaite. Cet attribut est obligatoire.

Element processing

L’élément "processing" regroupe des règles de traitement à effectuer sur des entêtes formatés. L’attribut "type" précise le type de traitement à effectuer sur ces valeurs. Cet attribut est obligatoire, il est de type : "sign-header-value", "encrypt-header-value", "capitalize-header-value", e.g.,

<ximf:processing type="sign-header-value">
  <ximf:refHeader>header-primary-precedence</ximf:refheader>
  <ximf:refHeader>header-copy-precedence</ximf:refheader>
  <ximf:refHeader>header-echange-type</ximf:refheader>
</ximf:processing>
  • Détails sur les valeurs possibles de l'attribut "type" :
    • Le type "sign-header-value" définit un traitement de signature des entêtes définis dans la balise.
    • Le type "encrypt-header-value" définit un traitement de chiffrement des entêtes définis dans la balise.
    • Le type "capitalize-header-value" définit un traitement de capitalisation des entêtes définis dans la balise.

L’élément "processing" contient au moins un élément "refHeader".

Element accessibility

L’élément "accessibility" définit un ensemble de règles de droit d’accès aux éléments d’une instance pour une cible déterminée (utilisateur, routeur…). Cet élément contient un ou plusieurs éléments "role".

<ximf:accessibility>
  <ximf:role id="role-flash-allowed" aclLevel="100" />
  <ximf:role id="role-flash-prohibited" aclLevel="50" />
</ximf:accessibility>

Element role

L’élément "role" positionne une valeur d’accès à pour une entité définit. Deux attributs complètent l’élément "role" : "id", "aclLevel", e.g.,

<ximf:role id="role-flash-allowed" aclLevel="100" />
  • Détails sur les attributs de l'élément "role" :
    • L’attribut "id" précise l’entité accessible en fonction d’une valeur déterminée.
    • L’attribut "aclLevel" précise la valeur seuil d’accès à l’entité.

Element custom

L’élément "custom" permet à l’auteur de créer des nouvelles règles personnalisées. Trois attributs précisent la balise "custom" : "id", "provider", "description", e.g.,

<ximf:custom 
  id="custom-display" 
  provider="EADS" 
  description="Affichage de la composition du message" >
    <node1><node2><node3></node3></node2></node1>
</ximf:custom>
  • Détails sur les attributs de l'élément "custom" :
    • L’attribut "id" définit un identifiant d’élément, il doit être unique pour chaque élément "custom" et formaté selon la syntaxe "custom-xxx". Cet attribut est obligatoire.
    • L’attribut "provider" identifie l’auteur de la règle. Cet attribut est obligatoire.
    • L’attribut "description" permet d’ajouter un commentaire sur cet élément.

L’élément "custom" peut contenir tous les éléments possibles en respectant les standards XML.