TIBCO EBX®
Documentation > Manuel de référence > Intégration > Services d'import et d'export
Mode navigationDocumentation > Manuel de référence > Intégration > Services d'import et d'export

Import et export XML

Introduction

L'import et l'export XML des tables s'effectuent via l'interface utilisateur à partir du menu 'Actions' de l'espace de travail.

L'import et l'export sont réalisés dans le contexte d'un jeu de données.

L'import et l'export peuvent aussi être réalisés programmatiquement.

Les valeurs par défaut des options peuvent être définies dans 'Administration', sous Interface utilisateur > Configuration de l'interface graphique > Valeurs par défaut des options > Import / Export.

Imports

Attention

Les documents XML importés doivent être encodés selon la norme UTF-8 et leur structure doit respecter le modèle de données du jeu de données cible.

Mode d'import

Lors de l'import d'un fichier XML, il est nécessaire de spécifier un des modes d'import suivants, qui déterminera la façon dont la procédure d'import gère les enregistrements source.

Insertion seulement

Seule la création d'enregistrement est autorisée. Si un enregistrement avec la même clé primaire existe dans la table, une erreur se produit et l'opération est annulée.

Mise à jour seulement

Seule la mise à jour d'enregistrement est autorisée. Si un enregistrement avec la même clé primaire n'existe pas dans la table, une erreur se produit et l'opération est annulée.

Mise à jour ou insertion

Si un enregistrement avec la même clé primaire existe dans la table, il est mis à jour ; sinon, il est créé.

Remplacement (synchronisation)

Si un enregistrement avec la même clé primaire existe dans la table cible, celui-ci est mis à jour ; sinon, un nouvel enregistrement est créé. D'autre part, si un enregistrement n'est plus présent dans la source, il est supprimé.

Opérations d'insertion et de mise à jour

Le mode 'by delta' permet d'ignorer les éléments du modèle de données qui manquent dans le document XML source. Ce mode peut être activé via les services de données ou l'API Java. Le tableau suivant résume le comportement des opérations d'insertion et de mise à jour lorsque les éléments sont absents du document source.

Voir les opérations des services de données mise à jour et insertion, ainsi que ImportSpec.setByDelta dans l'API Java pour plus d'informations.

État dans le document XML source

Comportement

L'élément n'existe pas dans le document source

Si le mode 'by delta' est désactivé (par défaut) :

Le champ cible prend une des valeurs suivantes :

  • Si l'élément définit une valeur par défaut, le champ cible prend cette valeur par défaut.

  • Si l'élément est d'un type autre que chaîne de caractères ou liste, le champ cible prend la valeur null.

  • Si l'élément est une liste agrégée, la valeur du champ cible prend la valeur d'une liste vide.

  • Si l'élément est une chaîne qui différencie null d'une chaîne de caractères vide, la valeur du champ cible prend la valeur null. S'il s'agit d'une chaîne qui ne fait pas la différence entre les deux, une chaîne vide.

  • Si l'élément (simple ou complexe) est caché dans services de données, la valeur cible reste inchangée.

Note : L'utilisateur qui exécute l'import doit avoir les permissions nécessaires pour créer ou modifier la valeur du champ cible. Autrement, la valeur restera inchangée.

Si le mode 'by delta' a été activé au travers des services de données ou de l'API Java :

  • Pour l'opération update, la valeur de champ reste inchangée.

  • Pour l'opération insert, le comportement est le même que lorsque le mode byDelta est désactivé.

L'élément existe tout en étant vide (par exemple, <fieldA/>)

  • Pour des nœuds de type xs:string (ou un de ses sous-types), le champ cible prend la valeur null s'il distingue null d'une chaîne vide. Autrement, la valeur est une chaîne vide.

  • Pour les types de nœuds nonxs:string, une exception est lancée conformément au XML Schema.

L'élément est présent et de valeur null (par exemple, <fieldA xsi:nil="true"/>)

Le champ cible prend toujours la valeur null sauf dans le cas des listes, pour lesquelles il n'est pas supporté.

Afin d'utiliser l'attribut xsi:nil="true", il est nécessaire d'ajouter la déclaration du namespace xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance".

Met les valeurs manquantes à nul

Lors d'une mise à jour d'enregistrement existant, si un nœud est absent ou vide dans le fichier XML : si cette option est à "oui", il sera considéré comme nul. Si cette option est à "non", il ne sera pas modifié.

Ignorer les colonnes supplémentaires

Il peut arriver que le document XML contienne des éléments qui n'existent pas dans le modèle de données cible. Par défaut, dans ce genre de cas, la procédure d'import échouera. Cependant, il est possible d'autoriser les utilisateurs à lancer des procédures d'import qui ignoreront les colonnes supplémentaires définies dans les fichiers XML. Cela peut se définir dans les paramètres de configuration de l'assistant d'import XML. La valeur par défaut de ce paramètre peut être modifiée dans la configuration de l''Interface utilisateur' dans l'espace 'Administration'.

Verrouillage optimiste

Si l'attribut technique ebxd:lastTime existe dans le fichier XML source, le mécanisme d'import réalise une vérification afin d'empêcher une opération de mise à jour sur un enregistrement qui pourrait avoir changé depuis la dernière lecture. Afin d'utiliser l'attribut ebxd:lastTime, i l est nécessaire d'ajouter la déclaration du namespace xmlns:ebxd="urn:ebx-schemas:deployment_1.0". L'horodatage associé à l'enregistrement courant sera comparé à cet horodatage. S'ils sont différents, la mise à jour est rejetée.

Exports

Note

Les documents XML exportés sont toujours encodés en UTF-8.

Lors d'un export au format XML, si des filtres sont appliqués à la table, seuls les enregistrements correspondant au filtre seront inclus.

Les options d'export XML sont les suivantes :

Nom du fichier de téléchargement

Spécifie le nom du fichier XML à exporter. Ce champ est pré-rempli avec le nom de la table source des enregistrements.

Mode convivial

Indique si les valeurs doivent être présentées de façon conviviale pour l'utilisateur ou sous leur forme brute (format XML standard). En mode convivial, les dates et les nombres sont formatés selon la région de l'utilisateur, les clés étrangères et valeurs énumérées présentent les libellés associés, etc.

Note: Si cette option est sélectionnée, le fichier exporté ne pourra pas être ré-importé.

Inclure les données techniques

Indique si des données techniques internes seront incluses dans l'export.

Note: Si cette option est sélectionnée, le fichier exporté ne pourra pas être ré-importé.

Indenté

Spécifie si le fichier doit être indenté pour améliorer sa lisibilité par un humain.

Enlever le commentaire XML

Spécifie si le commentaire XML généré qui décrit la localisation des données et la date d'export doit être enlevé.

Gestion des valeurs de champ

Date, heure & format dateTime

Les formats de date et d'heure suivants sont supportés :

Type

Format

Exemple

xs:date

aaaa-MM-jj

2007-12-31

xs:time

HH:mm:ss ou HH:mm:ss.SSS

11:55:00

xs:dateTime

aaaa-MM-jjTHH:mm:ss ou aaaa-MM-jjTHH:mm:ss.SSS

2007-12-31T11:55:00

Limitations connues

Champs d'association

Les services d'import et d'export XML ne supportent pas les valeurs d'association.

L'export de ces champs ne causera aucune erreur, cependant, aucune valeur ne sera exportée.

L'import de ces champs causera une erreur et la procédure d'import échouera.

Nœuds de sélection

Les services d'import et d'export XML ne supportent pas les valeurs de sélection.

L'export de ces champs ne causera aucune erreur, cependant, aucune valeur ne sera exportée.

L'import de ces champs causera une erreur et la procédure d'import échouera.

Documentation > Manuel de référence > Intégration > Services d'import et d'export