Personnalisation de la génération MSX pour les objets individuels

Lorsque vous générez un MSX à partir d'un MPD ou d'un MOO, vous pouvez spécifier des options de génération globales afin de générer des tables/classes sous la forme des éléments avec ou sans types complexes et des colonnes/attributs sous forme d'éléments ou d'attributs. Vous pouvez passer outre ces options pour les objets individuels en attachant les extensions PDM XML Generation ou OOM XML Generation à votre modèle source et en sélectionnant les options de génération XML de ces extensions.

Remarque : L'extension fournit de nouveaux onglets de feuille de propriétés permettant de définir des options de génération pour des objets individuels, mais vous pouvez également définir ces options avec ou sans l'extension en sélectionnant Modèle > objets pour ouvrir la liste d'objets appropriée, cliquer sur l'outil Personnaliser les colonnes et filtre, et choisir d'afficher la colonne Mode de génération XML.
Par exemple, si vous souhaitez générer la plupart de vos colonnes de table dans un MSX sous la forme d'attributs XML, mais que vous voulez générez certaines colonnes sous forme d'éléments, procédez comme suit :
  • Modifiez les options de génération XML pour les colonnes que vous souhaitez générer comme éléments.
  • Sélectionnez l'option de génération des colonnes sous forme d'attributs sur l'onglet Détails de la boîte de dialogue Options de génération.
  1. Sélectionnez Modèle > Extensions pour afficher la Liste des extensions, puis cliquez sur l'outil Attacher une extension.
  2. Sur l'onglet Général, sélectionnez PDM XML Generation ou OOM XML Generation puis cliquez sur OK afin d'attacher l'extension à votre modèle, puis sur OK pour fermer la Liste des extensions.
    Ces fichiers d'extension activent l'affichage de l'onglet XML dans toutes les feuilles de propriétés de table et de colonne.
  3. Ouvrez la feuille de propriétés de la table, colonnes, classe ou attribut dont vous souhaitez personnaliser la génération, puis cliquez sur XML.
  4. Utilisez les options pour spécifier comment vous voulez générer les objets dans le MSX.
    • Pour les tables et les classes, vous pouvez spécifier qu'elles doivent être générées en tant que :
      • Eléments - chaque table/classe est générée comme un élément non typé directement lié à ses colonnes/attributs générés comme attributs ou sous-éléments.
      • Eléments avec des types complexes - la table/classe est générée comme un élément typé par un type complexe, généré en parallèle, afin de contenir les colonnes/attributs.
      • Défaut - la génération de la table/classe est contrôlée par l'option sélectionnée dans la zone de groupe Génération XML sur l'onglet Détails de la boîte de dialogue Options de génération.
    • Pour les tables, vous pouvez également spécifier la génération des clés sous forme de :
      • Clé - [défaut] Les colonnes de clé primaire sont générées, de même que KEY et  KEYREF chaque fois que la table est référencée.
      • Attribut d'ID - Les colonnes de clé primaire ne sont pas générées, et un attribut d'ID, id,  est généré pour les remplacer. Chaque fois que la table est référencée, l'attribut IDREF est généré pour référencer l'élément approprié. Si le nom de rôle de référence est assigné, l'attribut prend ce nom. Dans le cas contraire, le nom de la table référencée est utilisé et le mécanisme de changement de nom standard est utilisé automatiquement.
      • Clé et attribut d'ID - Le plus souvent, les colonnes de clé contiennent des données significatives et vous souhaitez les générer, de même qu'un attribut d'ID. Dans ce cas, un attribut d'ID est généré pour l'élément, et IDREF est systématiquement utilisé pour toutes référence à la table :
      Les règles suivantes s'appliquent à la génération des clés :
      • Si une table génère un ID, toutes ses tables enfant vont générer un attribut d'ID.
      • Si une table génère des colonnes de clé, toutes ses tables enfant vont générer des colonnes de clé.
      • Si une table enfant est censée générer une clé primaire uniquement, l'attribut d'ID sera automatiquement généré.
      • Si une table génère un attribut d'ID, ni Key ni KeyRef ne sera généré, et TOUTES les références vont générer un attribut IDREF.. (même si la table génère également des colonnes de clé)
      • Si une table génère UNIQUEMENT un attribut d'ID, toutes les colonnes de clé étrangère qui référencent ses colonnes de clé seront systématiquement supprimées et remplacées par un attribut IDREF
    • S'agissant des colonnes et des attributs, vous pouvez spécifier une génération sous forme de :
      • Eléments - [défaut] la colonne/l'attribut est généré(e) comme sous-élément de l'élément ou du type complexe de sa table/classe.
      • Attributs - la colonne/l'attribut est généré comme attribut de l'élément ou du type complexe de sa table/classe.
      • Défaut - la génération de la colonne/de l'attribut est contrôlée par l'option sélectionnée dans la zone de groupe Génération XML dans l'onglet Détail de la boîte de dialogue Options de génération.
  5. Modifiez les options de génération XML pour tout autre objet que vous souhaitez générer de façon différente.
  6. Sélectionnez Outils > Générer un modèle XML, assurez-vous d'avoir correctement défini les options dans la zone de groupe Génération XML située sur l'onglet Détails de la boîte de dialogue Options de génération, puis lancez votre génération.