Altova MapForce 2025 Professional Edition

Caractères génériques : xs:any/xs:anyAttribute

Accueil Préc Haut Suivant

Cette rubrique explique comment gérer les caractères génériques dans les mappages. Les caractères génériques xs:any (et xs:anyAttribute) vous permettent d'utiliser tout élément/attribut depuis les schémas. Pour plus d'informations sur les caractères génériques, voir la Spécification W3C.  

 

Caractères génériques dans la définition de schéma

La capture d’écran ci-dessous affiche qu’un élément xs:any a été défini comme élément enfant de l’élément Person (mode Schéma dans Altova XMLSpy).

any

Caractères génériques dans MapForce.

Lorsqu’un caractère générique est défini pour un élément et/ou attribut, ce nœud aura un bouton excel1-compicon (Changer Sélection) à côté de celui-lui (voir la capture d’écran ci-dessous).

anyInMapforce

Sélection de caractère générique

Désormais, notre objectif est d’ajouter un autre élément comme nœud séparé. Cliquez sur le bouton excel1-compicon pour voir la liste des éléments que vous pouvez ajouter à l’arborescence. Notez que seuls les éléments et attributs globalement déclarés dans votre schéma peuvent être vus dans la boîte de dialogue sélections de caractère générique(voir la capture d’écran ci-dessous).

anyGlobelements

Pour notre exemple, nous avons choisi Département. Notez que les éléments de caractère générique et les attributs sont insérés après le nœud avec le bouton excel1-compicon. Maintenant, nos composants ont l’air comme suit :

anyFromLocal

Vous pouvez maintenant mapper de/vers ces nœuds comme d’habitude. Dans un composant, les éléments de caractère générique et les attributs sont marqués avec (xs:any) et (xs:anyAttribute), respectivement (voir la capture d’écran ci-dessus).

 

Supprimer les caractères génériques

Pour supprimer un nœud de caractère générique, cliquez sur le bouton excel1-compicon et la case à cocher correspondante dans la boîte de dialogue sélections de caractère générique.

 

Éléments/attributs d’un schéma différent

La boîte de dialogue sélections de caractère générique (voir ci-dessus) vous permet d’utiliser les éléments/attributs d’un schéma différent. Cliquer sur le bouton Importer un schéma différent vous donnera les options suivantes : (i) importer un fichier de schéma et (ii) générer un schéma wrapper (voir la description ci-dessous).

 

Importer un schéma

L'option Importer schéma importe le schéma externe dans le schéma actuel attribué au composant. Veuillez noter que cette option écrase le schéma existant du composant sur le disque. Si le schéma actuel est un schéma à distance qui a été ouvert depuis une URL (voir Ajouter des composants depuis une URL) et non depuis le disque, il ne peut pas être modifié. Dans ce cas, utilisez l'option Générer schéma wrapper.

 

Générer un schéma wrapper

L'option Générer schéma wrapper crée un nouveau fichier de schéma appelé un schéma wrapper. L'avantage de l'utilisation de cette option est que le schéma existant du composant n'est pas modifié. Au lieu, un nouveau schéma sera créé qui comprendra aussi bien le schéma existant que le schéma à importer. Si vous choisissez cette option, vous serez invité à choisir où le schéma wrapper devra être enregistré. Par défaut, le schéma de wrapper a le format suivant : somefile-wrapper.xsd.

 

Une fois avoir enregistré le schéma wrapper, celui-ci sera attribué automatiquement par défaut au composant. MapForce vous demandera également si vous voulez ajuster l’emplacement du schéma pour que vous puissiez référencer le schéma principal précédent. Cliquez sur Oui pour passer au schéma précédent ; sinon, cliquez sur Non pour garder l'attribution du schéma wrapper récemment créé au composant.

 

Caractères génériques et noms de nœud dynamiques

Néanmoins, il peut se produire des situations dans lesquelles les éléments et/ou les attributs dans une instance sont trop nombreux pour être déclarés dans le schéma. Considérez le fichier exemple suivant :

 

<?xml version="1.0" encoding="UTF-8"?>
<message>
  <line1>1</line1>
  <line2>2</line2>
  <line3>3</line3>
  ................
  <line999></line999>  
</message>

 

Pour de telles situations, il est recommandé d’utiliser les noms dynamiques de nœuds à la place des caractères génériques. Pour plus d’information, voir Nom du nœud stratégies de mappage.

 

© 2018-2024 Altova GmbH