Aides à la saisie : Aperçu, Détails, Contraintes
Les aides à la saisie du mode Schéma JSON se trouvent par défaut sur le côté droit de la fenêtre de l'application. Elles sont disponibles dans les deux modes de la fenêtre principale : (i) la Grille d'aperçu des définitions, et (ii) le Mode Design. Vous pouvez faire glisser les fenêtres des aides à la saisie par leur barre de titre vers d'autres emplacements à l'écran, et vous pouvez double-cliquer sur la barre de titre d'une aide à la saisie pour l'ancrer ou la désancrer. Pour plus d'informations sur ces actions, voir la section Aides à la saisie.
Aide à la saisie Aperçu
L’aide à la saisie Aperçu (capture d’écran ci-dessous) répertorie la définition du schéma actuel ainsi que toutes les définitions globales de ce schéma. Un double-clic sur une définition ouvre celle-ci dans le Mode Design, où elle peut être modifiée. Si vous souhaitez utiliser des définitions provenant de schémas externes, ajoutez d’abord le schéma externe, puis réutilisez la définition souhaitée.
Ajouter un schéma externe
Ajoutez un schéma externe en cliquant sur l’icône Ajouter nouveau schéma dans l’aide à la saisie Aperçu, puis en recherchant le schéma que vous souhaitez ajouter. Une fois le schéma ajouté, ses définitions s’affichent dans l’aide à la saisie Aperçu. La capture d’écran ci-dessous, par exemple, montre que le schéma TelNumbers.json a été ajouté et que ce schéma comporte une définition nommée USTelephoneNumbers. Vous pouvez ajouter autant de schémas externes que vous le souhaitez.

Réutiliser une définition externe
Une fois qu’un schéma externe a été ajouté, ses définitions peuvent être réutilisées dans les définitions du schéma importateur. Lorsqu’une définition en réutilise une autre (en la référençant), elle en hérite des propriétés. Le référencement peut s’effectuer de deux manières :
•Dans le Mode Design : en faisant glisser une définition depuis l’assistant de saisie Aperçu vers la définition où vous souhaitez l’insérer.
•Dans la Grille d'aperçu des définitions ou le Mode Design. via le champ Référence de l’assistant de saisie Détails de la définition où la réutilisation est souhaitée. Ceci est expliqué ci-dessous dans la description de l’aide à la saisie Détails.
Note : l’icône Actualiser à côté de l’entrée Schémas externes dans la fenêtre Aperçu met à jour tous les schémas externes ajoutés. Notez que si aucune définition d’un schéma externe ajouté n’a été réutilisée, ce schéma sera supprimé de la liste lors de l’actualisation de celle-ci.
Aide à la saisie Détails
Les propriétés d’une définition peuvent être saisies dans les fenêtres Détails et Contraintes lorsque la définition est sélectionnée dans l’un ou l’autre des modes de la fenêtre principale : Grille d'aperçu des définitions ou Mode Design. La capture d’écran ci-dessous montre la définition de USTelephoneNumbers dans le Mode Design, ainsi que les aides à la saisie Détails et Contraintes. Notez que les informations contenues dans ces deux aides à la saisie s’affichent également dans la zone (bleue) de la définition dans le Mode Design. Les propriétés pouvant être définies dans ces deux aides à la saisie sont répertoriées ci-dessous.

Les détails suivants peuvent être saisis dans l’aide à la saisie Détails :
•Nom : le nom de la définition.
•Référence : Si vous souhaitez qu’une définition réutilise une autre définition, cliquez sur le bouton Dialogue supplémentaire du champ Référence (voir la capture d’écran ci-dessus). Cela affiche le dialogue Modifier la référence, qui répertorie toutes les définitions disponibles (provenant du schéma actuel et de schémas externes). Sélectionnez la définition que vous souhaitez réutiliser, cochez l’option Chemin relatif si vous souhaitez un chemin relatif, puis cliquez sur OK. Voir Définitions globales et locales pour plus de détails.
•Type : sélectionnez le type de données de la définition dans la liste déroulante de la zone de liste. Notez que la modification du type entraînera la suppression des mots-clés spécifiques au type précédent. Si vous souhaitez revenir aux définitions précédentes, appuyez sur Annuler (Ctrl-Z). Les types sont expliqués dans la section Données JSON et Sélecteurs de types (Any, Multiple, etc.).
•Id : il s’agit d’un mot-clé facultatif qui définit un URI pour le schéma. Cet URI peut être utilisé pour référencer le schéma et sert d’URI de base pour d’autres références URI au sein du schéma. La valeur Id doit être une chaîne de caractères correspondant à un URI. Notez que le validateur JSON d’Altova utilise uniquement la déréférence canonique. Pour plus d’informations, voir la Spécification JSON.
•Ancre (nouveau dans draft-2019-09) : il s’agit d’un mot-clé d’identifiant facultatif qui fournit un fragment de nom simple (et non une URI comme c’est le cas avec ID). La valeur d’Ancre doit être une chaîne de caractères telle que décrite dans les projets correspondants.
•Titre, Description : les valeurs de ces deux mots-clés sont utilisées à des fins descriptives et sont lisibles par l’utilisateur final.
•Commentaire (nouveau dans draft-07) : destiné aux notes à l’intention des responsables de la maintenance du schéma, par opposition à Description, qui s’adresse aux utilisateurs finaux.
•Const (nouveau dans draft-06) : une valeur constante, telle qu’une énumération à valeur unique.
•Par défaut : la valeur par défaut de la définition.
•Lecture seule, Écriture seule (nouveau dans draft-07) : ces indicateurs désignent respectivement les champs en lecture seule et en écriture seule. Un champ de mot de passe constitue un exemple de champ en écriture seule.
•Déprécié (nouveau dans draft-2019-09) : indicateur signalant que la définition sélectionnée pourrait être supprimée à l’avenir. Les applications peuvent traiter ces définitions de manière particulière.
Aide à la saisie des contraintes
Les contraintes d’une définition dépendent de son type. Les contraintes de chaque type sont décrites ci-dessous. (Voir également Types atomiques.)

Si un type n’apparaît pas dans la liste ci-dessous, aucune contrainte ne peut lui être définie. Notez toutefois que des énumérations peuvent être définies pour tous les types :
•Chaîne : la longueur de la chaîne et son modèle ; ce dernier est spécifié au moyen d’une expression régulière. Dans le champ Format, vous pouvez sélectionner l’un des formats de chaîne définis dans la spécification (voir la capture d’écran ci-dessus, qui montre les formats disponibles dans le draft-04) ; des formats supplémentaires ont été définis dans les versions ultérieures. Content Media Type et Content Encoding (deux nouveautés de la version draft-07) permettent de sélectionner le type de média et l’encodage des données non JSON encodées dans une chaîne JSON.
•Numérique : la plage des valeurs autorisées
•Tableau : le nombre d’éléments autorisés dans le tableau et si les éléments doivent être uniques
•Objet : le nombre de propriétés autorisées
L’aide à la saisie Contraintes pour tous les types comporte un onglet Énumérations. Dans celle-ci, vous pouvez spécifier une liste d’éléments autorisés du type de cette définition. De plus, un onglet Exemples est disponible (nouveau dans le draft-06) pour tous les types à l’exception de Forbidden. Il s’agit d’un tableau d’exemples sans effet sur la validation ; la valeur par défaut peut être utilisée comme exemple sans qu’il soit nécessaire de la répéter sous ce mot-clé.