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.
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.
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é. |
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 :
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 :
|
L'élément existe tout en étant vide (par exemple, |
|
L'élément est présent et de valeur | Le champ cible prend toujours la valeur Afin d'utiliser l'attribut |
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é.
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'.
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.
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é. |
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 |
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.
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.