Objets et dépendances

www.altova.com Agrandir/Réduire tout Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Manuel de l'utilisateur et référence > JSON, Schéma JSON > Mode Schéma JSON >

Objets et dépendances

Dans le cadre de la définition d'un objet, vous avez la possibilité de spécifier qu'une certaine propriété doit être présente uniquement si une autre propriété est présente. La première propriété est dite dépendante de la deuxième propriété. Voici un scénario contenant une dépendance. Un objet (nommé par exemple member) a une propriété appelée credit_card, qui est définie en tant qu'optionnelle. La propriété de l'objet billing_address peut être rendue dépendante de la propriété credit_card : ce n'est que si la propriété credit_card est présente que la propriété billing_address sera présente.

 

Ce type de dépendance peut être spécifié de deux manières :

 

en tant qu'une dépendance de propriété (la structure dépendante est une propriété)
en tant qu'une dépendance de schéma (la structure dépendante est un schéma)

 

Dépendances de propriété

La capture d'écran ci-dessous montre un objet possédant une propriété name (requise), une propriété credit_card (optionnelle), et une propriété billing_address (dépendante). La propriété billing_address est dépendante de la propriété credit_card. Le code de cette définition d'objet JSON est contenu en-dessous de la capture d'écran. Vous trouverez comment créer une dépendance de propriété ci-dessous.

JSONPropDependencies01

Click to expand/collapseListe de code d'un objet JSON avec une dépendance de propriété

{

   "type": "object",

   "properties": {

      "name": {

      "type": "string"

      },

      "credit_card": {

         "type": "number"

      },

      "billing_address": {

         "type": "string"

      }

   },

   "required": [ "name" ],

   "dependencies": {

      "credit_card": [ "billing_address" ]

   },

   "additionalProperties": false

}

 

 

Afin de créer une dépendance de propriété, procéder comme suit :

 

1.Cliquer avec la touche de droite à l'endroit où la dépendance sera basée. (Dans notre exemple, il s'agit de la propriété credit_card.)
2.Dans le menu contextuel qui apparaît, sélectionner Ajouter dépendance | Propriété dépendante. Une nouvelle propriété est ajoutée avec une valeur Occurrence de Dependent.
3.Définir le nom et la valeur de cette propriété, et ajouter tous les détails supplémentaires ou les contraintes que vous souhaitez.

 

Pour spécifier une propriété comme étant dépendante d'une autre propriété, procéder comme suit :

 

1.Cliquer avec la touche de droite sur la propriété que vous souhaitez rendre dépendante sur une autre propriété. (Dans notre exemple, il s'agit de la propriété billing_address.)
2.Dans le menu contextuel qui apparaît, sélectionner Dépendant. En alternative, dans l'assistant à la saisie Détails, rendez-vous dans l'entrée Occurrence, et choisissez Dependent (voir capture d'écran ci-dessus).
3.Dans l'assistant à la saisie Détails, cliquer sur l'icône de la liste déroulante de l'entrée Dependent On. La liste déroulante affiche toutes les autres propriétés de l'objet. Sélectionnez la propriété sur laquelle vous souhaitez que la propriété actuelle dépende.

 

Note:Une icône apparaît dans les fenêtres des deux propriétés impliquées dans une dépendance (voir capture d'écran ci-dessus). Double-cliquer sur l'icône d'une propriété pour vous amener sur l'autre propriété.

 

Note:Une propriété peut avoir plusieurs propriétés dépendantes.

 

Dépendances de schéma

La capture d'écran ci-dessous montre un objet qui décrit la même structure de données d'instance que l'objet discuté dans la section précédente. Les définitions des deux objets, néanmoins, sont différentes. Alors que la définition précédente a utilisé une dépendance de propriété pour définir la propriété billing_address comme étant dépendante de la propriété credit_card, la définition actuelle utilise une dépendance de schéma pour définir cette dépendance. Le code de cette définition d'objet JSON est contenu en-dessous de la capture d'écran. La création d'une dépendance de schéma est décrite ci-dessous.

Click to expand/collapse

Click to expand/collapseListe de code d'un objet JSON avec une dépendance de schéma

{

   "type": "object",

   "properties": {

      "name": {

         "type": "string"

      },

      "credit_card": {

         "type": "integer"

      }

   },

   "required": [ "name" ],

   "dependencies": {

      "credit_card": {

         "properties": {

            "billing_address": {

               "type": "string"

            }

         },

         "required": [ "billing_address" ]

      }

   }

}

 

 

Pour créer une dépendance de schéma, procéder comme suit :

 

1.Cliquer avec la touche de droite sur la propriété sur laquelle la dépendance se basera. (Dans notre exemple, il s'agit de la propriété credit_card.)
2.Dans le menu contextuel qui apparaît, choisir Ajouter dépendance | Dépendance de schéma. Une nouvelle définition d'objet est créée. Elle aura le même nom que la propriété à laquelle elle est dépendante (dans notre exemple, credit_card), et elle aura un sous-schéma enfant.
3.Définir le sous-schéma de la manière que vous souhaitez en ajoutant des détails ou des contraintes supplémentaires le cas échéant.

 

Note :Une icône apparaît dans les fenêtres de la propriété et de l'objet impliqué dans une dépendance (voir capture d'écran ci-dessus). Double-cliquer sur l'icône dans une fenêtre pour vous rendre dans l'autre fenêtre.

 

Note :Si vous souhaitez définir plusieurs dépendances, utilisez le sous-schéma dépendant (voir capture d'écran ci-dessus).

 


© 2018 Altova GmbH