XIMF XML tags/fr : Différence entre versions
m (→Fichier headers) |
|||
(49 révisions intermédiaires par 3 utilisateurs non affichées) | |||
Ligne 19 : | Ligne 19 : | ||
== Description détaillée des balises XML == |
== Description détaillée des balises XML == |
||
− | |||
⚫ | |||
⚫ | |||
=== Fichier ximfmail-profile === |
=== Fichier ximfmail-profile === |
||
− | |||
− | <span style="color:red;">'''TODO''' : |
||
− | Combien d'éléments ihm sont autorisés dans un élément instance ? |
||
− | </span> |
||
− | |||
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. |
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. |
||
Ligne 41 : | Ligne 35 : | ||
** L’attribut "creationDate" précise la date de création 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". |
+ | 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 ==== |
==== Element dictionary ==== |
||
L'élément dictionary contient le chemin vers le fichier spécifiant les données d'internationalisation (Cf. [[#Fichier_dictionary|Fichier dictionary]]). |
L'élément dictionary contient le chemin vers le fichier spécifiant les données d'internationalisation (Cf. [[#Fichier_dictionary|Fichier dictionary]]). |
||
− | |||
==== Element schema ==== |
==== Element schema ==== |
||
Ligne 51 : | Ligne 44 : | ||
==== Element ihm ==== |
==== 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|Fichier ihm]]). |
+ | L'élément ihm contient le chemin vers le fichier spécifiant la disposition de l'interface des formulaires XIMF (Cf. [[#Fichier_ihm|Fichier ihm]]). Un seul élément ihm est chargé par instance. |
==== Element rule ==== |
==== 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 rules]]). |
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 rules]]). |
||
− | |||
⚫ | |||
⚫ | |||
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. |
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". |
On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui contient un élément "ximf:dictionnary". |
||
− | ==== Element |
+ | ==== Element dictionary ==== |
− | <span style="color:red;">'''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") ?</span> |
||
− | |||
− | 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:dictionary> |
||
<ximf:locale lang="fr-FR" /> |
<ximf:locale lang="fr-FR" /> |
||
Ligne 67 : | Ligne 59 : | ||
</ximf:dictionary> |
</ximf:dictionary> |
||
− | ==== Element |
+ | ==== Element locale ==== |
L’élément "locale" contient toutes les informations pour un pays et/ou langue désignée. |
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., |
L’élément "locale" contient un ou plusieurs mêmes éléments "ilk", e.g., |
||
Ligne 79 : | Ligne 71 : | ||
** 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, …). |
** 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 |
+ | ==== 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". |
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". |
||
Ligne 101 : | Ligne 93 : | ||
</ximf:dictionary> |
</ximf:dictionary> |
||
</ximf:instance> |
</ximf:instance> |
||
− | |||
=== Fichier ihm === |
=== Fichier ihm === |
||
− | <span style="color:red;">'''TODO''' : La documentation originale ne décrit pas le fichier ihm, les informations ci-dessous ont seulement été présumées. Merci de les vérifier/compléter. |
||
− | </span> |
||
− | |||
Le fichier ihm spécifie l'agencement de l'interface des formulaires XIMF. |
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". |
On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui contient un élément "ximf:ihm". |
||
− | ==== Element |
+ | ==== Element ihm ==== |
L'élément "ihm" contient un ou plusieurs éléments "panel" et un élément "treeRcv". |
L'élément "ihm" contient un ou plusieurs éléments "panel" et un élément "treeRcv". |
||
− | ==== Element |
+ | ==== Element panel ==== |
Un élément ximf:panel correspond à un onglet du formulaire XIMF construit. |
Un élément ximf:panel correspond à un onglet du formulaire XIMF construit. |
||
Deux attributs précisent la balise "panel" : "id" et "ilk", eg. |
Deux attributs précisent la balise "panel" : "id" et "ilk", eg. |
||
Ligne 124 : | Ligne 112 : | ||
L'élément "ximf:panel" contient au moins un éléments "ximf:groupbox". |
L'élément "ximf:panel" contient au moins un éléments "ximf:groupbox". |
||
− | ==== Element |
+ | ==== Element groupbox ==== |
Un élément groupbox correspond à une sous catégorie d'un onglet du formulaire XIMF. |
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. |
La structure "groupbox" détaille l’ordre d’affichage des entêtes dans un message. |
||
Ligne 134 : | Ligne 122 : | ||
** L’attribut "ilk" définit une référence de label de présentation associé au champ XIMF. |
** 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 " |
+ | L'élément "groupbox" contient au moins un éléments "headerRef". |
− | ==== Element |
+ | ==== 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" 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". |
L'élément "treeRcv" peut contenir des éléments "headerRef". |
||
− | ==== Element |
+ | ==== 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. |
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. |
Aucun attribut ne vient compléter la balise "headerRef", eg. |
||
Ligne 149 : | Ligne 137 : | ||
Finalement, le fichier "ihm" pourra contenir : |
Finalement, le fichier "ihm" pourra contenir : |
||
<pre> |
<pre> |
||
− | <ximf:instance name=" |
+ | <ximf:instance name="Amoco"> |
<ximf:ihm> |
<ximf:ihm> |
||
<ximf:panel id="pane_security" ilk="ilk-priority-panel"> |
<ximf:panel id="pane_security" ilk="ilk-priority-panel"> |
||
Ligne 163 : | Ligne 151 : | ||
</ximf:instance> |
</ximf:instance> |
||
</pre> |
</pre> |
||
− | |||
=== Fichier headers === |
=== Fichier headers === |
||
Ligne 169 : | Ligne 156 : | ||
On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui contient des éléments "header". |
On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui contient des éléments "header". |
||
− | ==== Element |
+ | ==== Element header ==== |
Chaque élément "header" décrit un entête de message de format XIMF. |
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., |
Huit attributs précisent la balise "header" : "headerName", "id", "technicalHeaderName", "type", "technicalType", "isMandatory", "ilk", "description", e.g., |
||
Ligne 199 : | Ligne 186 : | ||
</ximf:header> |
</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. |
||
+ | |||
⚫ | |||
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,…) |
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., |
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., |
||
Ligne 209 : | Ligne 198 : | ||
** L’attribut "ref" définit un identifiant de référence qui contient les valeurs à utiliser pour cet élément. |
** 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 "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 ( |
+ | ** L’attribut "aclLevel" définit la valeur seuil d’accès à la donnée selon une règle de droit d’accès (Cf. [[#Element_role| é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 "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 " description " permet d’associer un commentaire sur cette donnée. |
||
Ligne 224 : | Ligne 213 : | ||
L’élément "string" peut contenir plusieurs éléments "linkedValue". |
L’élément "string" peut contenir plusieurs éléments "linkedValue". |
||
− | <ximf:string ilk="ilk-non-protege" content="NON PROTEGE" technicalContent="1" > |
+ | <ximf:string ilk="ilk-non-protege" content="NON PROTEGE" technicalContent="1" > |
− | <ximf:linkedValue ref="value-non-protege-france " /> |
+ | <ximf:linkedValue ref="value-non-protege-france " /> |
− | </ximf:string> |
+ | </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. |
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., |
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., |
||
Ligne 243 : | Ligne 232 : | ||
** L’attribut "ref" définit un identifiant de référence qui contient les valeurs à utiliser pour cet élément. |
** 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 "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 "aclLevel" définit la valeur seuil d’accès à la donnée selon une règle de droit d’accès (cf. [[#Element_role| é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 "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 " description " permet d’associer un commentaire sur cette donnée. |
||
Ligne 273 : | Ligne 262 : | ||
</ximf:compstring> |
</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. |
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., |
Douze attributs précisent la description de la balise "set" : "id", "ref", "ilk", "aclLevel", "index", "description", "maxLength", "minLength", "maxItem", "minItem", "separator", "technicalSeparator", e.g., |
||
Ligne 301 : | Ligne 290 : | ||
</ximf:set> |
</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. |
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., |
Douze attributs précisent la description de la balise "multiset" : "id", "ref", "ilk", "aclLevel", "index", "description", "maxLength", "minLength", "maxItem", "minItem", "separator", "technicalSeparator", e.g., |
||
Ligne 307 : | Ligne 296 : | ||
<ximf:multiset |
<ximf:multiset |
||
id="value-restricted" |
id="value-restricted" |
||
− | ilk=" value-restricted |
+ | ilk=" ilk-value-restricted" |
maxItem="64" |
maxItem="64" |
||
separator=";" /> |
separator=";" /> |
||
Ligne 327 : | Ligne 316 : | ||
L’élément "multiset" peut contenir un ou plusieurs éléments "string" ou un ou plusieurs éléments "compstring". |
L’élément "multiset" peut contenir un ou plusieurs éléments "string" ou un ou plusieurs éléments "compstring". |
||
− | <ximf:multiset id="value-restricted- |
+ | <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-releasable-to" content="RELEASABLE TO "/> |
||
<ximf:string ilk="ilk-eyes-only" content=" EYES ONLY"/> |
<ximf:string ilk="ilk-eyes-only" content=" EYES ONLY"/> |
||
Ligne 333 : | Ligne 322 : | ||
</ximf:multiset> |
</ximf:multiset> |
||
− | ==== |
+ | ==== Element linkedValue ==== |
− | <div style="color: red;">'''TODO ''': L'élément linkedValue indique quelle ressource utiliser lors de la sélection d'un élément particulier mais il n'indique pas où la ressource devra être utilisée. |
||
− | * Est-ce que cela correspond toujours au header suivant ? |
||
− | * Pourquoi avoir fait ce choix au lieu d'ajouter un attribut supplémentaire ? |
||
− | </div> |
||
− | |||
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. |
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., |
Un attribut précise la balise "linkvalue" : "ref", e.g., |
||
− | <ximf:linkedValue ref="value-restricted- |
+ | <ximf:linkedValue ref="value-restricted-example-classification-id" /> |
* Détails sur les attributs de l'élément "linkedValue" : |
* 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. |
** L’attribut "ref" précise la valeur de l’attribut "id" de la ressource cible. Cet attribut est obligatoire. |
||
− | |||
=== Fichier rules === |
=== Fichier rules === |
||
Ligne 347 : | Ligne 335 : | ||
On y retrouve un élément "instance" rappelant l'instance XIMF à laquelle il est rattaché et qui peut contenir des éléments "ximf:rule". |
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 |
+ | ==== Element rule ==== |
− | <div style="color:red"> |
||
− | '''TODO :''' Mettre à jour la documentation : |
||
− | * Les éléments autorisés dans un élément « rule » ne sont plus à jour. La présente documentation spécifie 12 éléments : AliasHeader, AliasValue, Compatibility, Association, SecureHeaders, SecurityLabel, Constraint, Assignment, Processing, Accessibility, Role et Custom. Le schéma XML fourni avec le mail en spécifie 5 : Constraint, Processing, Compatibility, Policy et Custom et place les autres en tant qu'extentions des 5 éléments cités précédemment. |
||
− | * Les éléments SecureHeaders et SecurityLabel associés à l'élément « rule » dans la version ci-dessus ne figurent plus dans la nouvelle version. On les retrouve dans les fichiers rules-*.xml mais les éléments sont commentés. En revanche, ils sont bien présents dans l'instance INTRACED CD : s'agit-il d'une fonctionnalité non-documentée ou plus documentée ? |
||
− | </div> |
||
L’élément "rule" est le conteneur principal de description d’un comportement particulier à appliquer sur un ensemble d’entêtes XIMF. |
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., |
Trois attributs précisent la balise "rule" : "id", "agent", "description", e.g., |
||
Ligne 366 : | Ligne 354 : | ||
</ximf:rule> |
</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 |
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., |
Deux attributs précisent la balise "aliasHeader" : "headerName" et "headerRef", e.g., |
||
Ligne 382 : | Ligne 370 : | ||
<ximf:aliasHeader> |
<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é. |
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., |
Deux attributs précisent la balise "aliasValue" : "valueName", "valueRef", e.g., |
||
− | <ximf:aliasValue valueName="2" valueRef |
+ | <ximf:aliasValue valueName="2" valueRef="flash" /> |
* Détails sur les attributs de l'élément "aliasValue" : |
* 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 "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. |
** L’attribut "valueRef" définit la valeur de l’entête XIMF de référence pour utiliser valueName. |
||
− | <span style="color:red;">'''TODO :''' L'attribut valueRef est-il obligatoire ?</span> |
||
− | ==== |
+ | ==== 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). |
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., |
Deux attributs précisent la balise "compatibility" : "targetName", "targetVersion", e.g., |
||
Ligne 412 : | Ligne 399 : | ||
<u>Pour illustrer cette règle :</u> |
<u>Pour illustrer cette règle :</u> |
||
− | Le format |
+ | 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épendance entre entêtes |
||
Ligne 428 : | Ligne 415 : | ||
</ximf:association> |
</ximf:association> |
||
− | ==== |
+ | ==== Element secureHeaders ==== |
− | <span style="color:red;">Les éléments SecureHeaders et SecurityLabel associés à l'élément « rule » dans la version ci-dessus ne figurent plus dans la nouvelle version. On les retrouve dans les fichiers rules-*.xml mais les éléments sont commentés. En revanche, ils sont bien présents dans une autre instance : s'agit-il d'une fonctionnalité non-documentée ou plus documentée ?</span> |
||
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. |
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. |
||
Ligne 438 : | Ligne 425 : | ||
</ximf:secureHeaders> |
</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. |
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". |
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=" |
+ | <ximf:securityLabel targetName="SecurityLabel" id="Amoco"> |
<ximf:aliasHeader |
<ximf:aliasHeader |
||
headerName="SecurityPolicyIdentifier" |
headerName="SecurityPolicyIdentifier" |
||
Ligne 459 : | Ligne 446 : | ||
</ximf:securityLabel> |
</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. |
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., |
Trois attributs précisent la balise "constraint" : "left", "right", "operator", e.g., |
||
Ligne 480 : | Ligne 467 : | ||
** Le type "equal" signifie que la valeur de l’élément "left" et de l’élément "right" doivent être identiques. |
** Le type "equal" signifie que la valeur de l’élément "left" et de l’élément "right" doivent être identiques. |
||
− | ==== |
+ | ==== Element assignment ==== |
− | <div style="color:red;">L'élément assignment n'apparaît pas dans le shéma xml qui avait été envoyé.</div> |
||
− | |||
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". |
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., |
Quatre attributs précisent la balise "assignement" : "left", "right", "operator", "result", e.g., |
||
Ligne 496 : | Ligne 483 : | ||
** 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. |
** 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’é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., |
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., |
||
Ligne 512 : | Ligne 499 : | ||
L’élément "processing" contient au moins un élément "refHeader". |
L’élément "processing" contient au moins un élément "refHeader". |
||
− | <div style="color:red;">L'élément refHeader n'est pas documenté, s'agit-il en fait de l'élément headerRef ?</div> |
||
− | ==== |
+ | ==== Element accessibility ==== |
− | <div style="color:red;">L'élément assignment n'apparaît pas dans le shéma xml qui avait été envoyé.</div> |
||
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…). |
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". |
Cet élément contient un ou plusieurs éléments "role". |
||
Ligne 523 : | Ligne 509 : | ||
</ximf:accessibility> |
</ximf:accessibility> |
||
− | ==== |
+ | ==== Element role ==== |
L’élément "role" positionne une valeur d’accès à pour une entité définit. |
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., |
Deux attributs complètent l’élément "role" : "id", "aclLevel", e.g., |
||
Ligne 533 : | Ligne 519 : | ||
** L’attribut "aclLevel" précise la valeur seuil d’accès à l’entité. |
** 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. |
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., |
Trois attributs précisent la balise "custom" : "id", "provider", "description", e.g., |
||
⚫ | |||
+ | <ximf:custom |
||
⚫ | |||
+ | id="custom-display" |
||
+ | provider="EADS" |
||
⚫ | |||
⚫ | |||
</ximf:custom> |
</ximf:custom> |
||
Version actuelle en date du 30 juin 2011 à 10:44
Sommaire
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 :
- Décrire les éléments et attributs de représentation XML pour construire des entêtes de messages électroniques de format XIMF.
- 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.