Contenu du Document
Éditer le contenu dans le Mode Grille est simple : Double-cliquer à l’intérieur du champ du contenu et éditer le contenu tel que requis. Le type de nœud peut être changé rapidement en cliquant sur l’icône Type du nœud et en sélectionnant du menu qui apparaît. Dans le document XML, les entités peuvent être insérées par le biais des assistants à la saisie des Entités. De plus, le Mode Grille propose une validation et la fonction de recherche et de remplacement.
Ce chapitre décrit les fonctions uniques du Mode Grille des documents XML et JSON Pour une description des fonctions du Mode Grille des documents DTD, voir le chapitre DTD.
Sélection de type (XML)
Les cellules dans le mode Grille contiennent des nœuds du document XML. Nous avons regroupé les types comme suit :
•Types Nom–Valeur : Élément, attribut, instruction de traitement (PI). Les nœuds de ce type ont des noms et des valeurs.
•Types de valeur : Texte, CDATA, commenter, références entité/caractère. Les nœuds de ce type ne prennent que les valeurs.
•Types de définition : Déclaration XML, DOCTYPE (interne ou externe DTD). Ces nœuds définissent des propriétés du document XML.
•Types de conteneurs spéciaux spécifiques à XMLSpy : Formule.
Le type d’une valeur est indiqué par un symbole qui se trouve devant la valeur (voir la capture d’écran ci-dessous). Pour changer un type, il faut cliquer sur son symbole et sélectionner le type souhaité depuis le menu qui apparaît. De manière alternative, cliquez avec la touche de droite de la souris dans la cellule et, depuis le menu contextuel qui apparaît, sélectionnez un type du sous-menu Type. Les symboles et raccourcis de types sont affichés dans la capture d’écran ci-dessous :
Veuillez noter les points suivants :
•Les nœuds du type Élément, Attribut, et PI ont un nom et une valeur, alors que les nœuds du type Texte, CDATA, et Commenter ont uniquement une valeur. Par exemple, un nœud d’élément aura un nom et un contenu, alors qu’un nœud de texte aura uniquement une valeur.
•Les conversions de type tentent de préserver la clé originale et la valeur. Si, par exemple, vous convertissez un élément en attribut, l’attribut aura (i) le même nom que l’élément, et (ii) une valeur est, dans la mesure du possible, la même chose que le contenu de l’élément.
•Dans la séquence des nœuds enfants d’un élément, les attributs sont toujours listés les premiers. Par conséquent, les conversions de type pourraient entraîner un réarrangement de nœuds.
•Dans le cas d’un contenu mixte (des données caractère parsemées avec des éléments enfants, comme un élément paragraphe qui contient du texte ainsi que des éléments en gras et en italique), les nœuds de texte consécutifs ne sont pas permis et pourraient être ajoutés automatiquement.
•Lorsque des nœuds multiples sont sélectionnés pour la conversion en un type simple, vous pouvez définir une option afin de déterminer si ce changement doit exécuté ou non, ou si vous devriez être averti.
•Vous pouvez éditer du texte brut dans une cellule ou une ligne en sélectionnant la cellule parent ou la ligne parent à éditer de cette manière et en cliquant sur l’icône Éditer en tant que Raw Text de la barre d’outils. Lorsque vous éditez du texte en tant que texte brut, les entités et le markup dans cette cellule ne seront pas résolus, respectivement, en glyphes et composants de Mode Grille (et peuvent être édités pour cette raison).
Sélection de type (JSON)
Le Mode Grille JSON distingue les deux catégories de types suivantes :
•Types simples : String, Nombre, Booléen, Nul
•Types simples spéciaux : Auto (qui est détecté depuis la valeur), Commentaire (JSONC, JSON5)
•Types de conteneur : Objet, Array
•Types spéciaux de conteneur : Formule
Le type d’une valeur est indiqué par un symbole qui se trouve devant la valeur (voir la capture d’écran ci-dessous). Pour changer un type, il faut cliquer sur son symbole et sélectionner le type souhaité depuis le menu qui apparaît. Les symboles et raccourcis de types sont affichés dans la capture d’écran ci-dessous :
Les types détectés automatiquement ont des points verts en-dessous (voir la capture d'écran ci-dessous). Un type explicite est un type que vous attribuez.
Les actions liées au type se produisent dans deux situations :
•Lorsqu'un document JSON est chargé : tous les types simples sont convertis en Auto, qui sont détectés automatiquement depuis les valeurs. Par exemple, "MyString" est automatiquement détecté en tant que type String, 123 en tant que type Nombre, true en tant que type Booléen, et null en tant que type Null. Dans les cas de strings ambigus, choisir le type explicitement.
•Lorsqu'une nouvelle structure de données ou une valeur est saisie : les types simples sont détectés automatiquement et le type est attribué automatiquement. Vous pouvez changer le type ultérieurement le cas échéant.
Note : | les paramètres du Mode Grid JSON vous permettent de spécifier (i) la procédure à suivre pour changer les types lorsque de multiples cellules sont sélectionnées, et (ii) comment les valeurs de types atomiques devraient être traitées lorsque le type est changé en array ou objet. |
Saisie semi-automatique
La saisie automatique est activée quand le document étant édité est associé avec le schéma.
La saisie semi-automatique vous fournit des options de saisie à l’emplacement du curseur (voir la capture d’écran ci-dessous). Ces options, qui sont basées sur les définitions dans le schéma, sont fournies par le biais de (i) pop-ups dans la fenêtre principale, et (ii) via des assistants d’entrée. Les pop-ups et assistants à la saisie affichent chacun des entrées qui sont valides à l’emplacement du curseur. Pour se déplacer d’une entrée à l’autre dans la liste pop-up, utilisez les touches de direction. Sélectionnez une entrée depuis la fenêtre pop-up ou double-cliquez dans l’assistant d’entrée pour l’insérer.
Pour les documents JSON, notez les points suivants :
•Si le document est un schéma JSON, le remplissage automatique sera basé sur la version de schéma indiquée par le mot-clé $schema. Pour plus d’informations, voir aussi Version de schéma JSON.
•Si le document est une instance JSON/JSON5, alors un schéma JSON doit être attribué à l’instance pour que le remplissage automatique soit activé.
•Si le document est un document de données Avro en format JSON, alors un schéma Avro doit être attribué à l’instance pour que le remplissage automatique fonctionne.
•Si le document est un schéma Avro, il sera automatiquement associé avec un schéma pour le schéma Avro, et le remplissage automatique sera basé sur ce schéma.
Valider sur modification
Le mode Valider sur Édition est désactivée par défaut. Lorsqu’il est activé, des vérifications de bonne formation et de validation sont effectuées pendant que vous éditer un document dans le Mode Grille. Pour la validation à exécuter (en plus des vérifications bien formées), un schéma doit être assigné au document. Les erreurs sont montrées en (i) affichant le texte erroné en rouge et (ii) en signalisant l’emplacmeent avec un point d’exclamation rouge. Si un smart fix est disponible pour une erreur, une ampoule s'affiche sur la ligne qui génère l'erreur. Lorsque vous placez la souris sur l'icône, une fenêtre pop-up apparaît qui recense les smart fixes disponibles. Sélectionner un fix pour l'appliquer immédiatement. Pour plus d'informations, voir En cours de validation des Documents XML et En cours de validation des Documents JSON.
Le mode Valider sur Édition peut être activé ou désactivé soit (i) via la commande de menu XML | Valider sur Édition, (ii) via la touche de la barre d'outils Valider sur Édition, ou (iii) via l'option Sur Édition des Paramètres de validation du dialogue Options.
Chercher et Remplacer
Les commandes Find (Ctrl+F) et Replace (Ctrl+H) (accédées via le menu Éditer ou Ctrl+F) fournissent des capacités de recherche puissantes. Outre la casse, vous pouvez définir le terme de recherche et la correspondance de mots entiers, le terme peut aussi être exprimé en tant qu'expression régulière. La portée de la recherche peut être restreinte à la sélection dans le document. Les résultats sont mis en surbrillance orange, et les cellules avec du contenu sont également mises en surbrillance orange.
Pour une description de la fonction Chercher et Remplacer, voir les descriptions des commandes Find et Replace du menu Édition.