DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Syntaxe WLangage / Types du WLangage
  • Importation de fichiers au format YAML
  • Affectation et lecture
  • Gestion des références
  • Propriétés spécifiques à la description des variables de type YAML
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
YAML (Type de variable)
En anglais : YAML
Le type YAML permet de simplifier les manipulations des données au format YAML.
Le YAML est un format de sérialisation des données qui permet une représentation humaine très acceptable toute en conservant une précision informatique importante. Il se rapproche du JSON en apportant quelques fonctionnalités supplémentaires très intéressantes (il est d'ailleurs possible d'inclure du JSON dans du YAML).
Ces caractéristiques lui permettent d'être très intéressant pour :
  • les échanges de données entre systèmes informatiques,
  • les fichiers de configuration.
Les fonctionnalités spécifiques du YAML sont :
  • les commentaires (intéressant notamment pour les fichiers de configuration),
  • les tags, des informations de typage des données (intéressant dans le cadre du "round trip" sérialisation/désérialisation),
  • les alias à l'intérieur du document qui permettent d'éviter les répétitions.
Nouveauté SaaS
Android Ce type de variable est désormais disponible pour les applications Android.
Widget Android Ce type de variable est désormais disponible en mode Widget Android.
Exemple
V est un YAML
Syntaxe

Déclaration et affectation d'un type YAML Masquer les détails

<Nom de la variable> est un YAML = <Valeur>

OU
 <Nom de la variable> est un YAML
 <Nom de la variable> = <Valeur>
<Nom de la variable> :
Nom de la variable à déclarer.
<Valeur> :
Valeur à affecter à la variable. Une variable de type YAML peut être affectée avec :
  • NULL,
  • un booléen (Vrai ou Faux),
  • un numérique,
  • une date (convertie automatiquement en chaîne au format RFC),
  • une chaîne Ansi ou Unicode contenant une donnée,
  • une chaîne Ansi contenant des données au format JSON.
Remarques

Importation de fichiers au format YAML

Les variables de type YAML peuvent être déclarées en indiquant un document exemple (un fichier texte). La structure de ce document sera lue par WINDEV, WEBDEV et WINDEV Mobile. Il sera ainsi possible de disposer de la complétion automatique sur les noms des noeuds directement dans l'éditeur de code.
Pour déclarer une variable de type YAML avec un document exemple :
  1. Ajoutez le document texte dans le projet grâce à une des méthodes suivantes :
    • sous le volet "Projet", dans le groupe "Projet", déroulez " Liste des éléments" et cliquez sur "Liste des éléments du projet". La liste des éléments du projet s'affiche. Cliquez sur le bouton "Ajouter" et sélectionnez le document texte.
    • réalisez un "Drag and Drop" du fichier vers le dossier "Descriptions externes" du volet "Explorateur de projet".
    • dans le volet "Explorateur de projet", sélectionnez le dossier "Descriptions externes", puis l'option "Importer un XML ou un JSON dans ce projet" du menu contextuel.
  2. Le document JSON apparaît sous le dossier "Descriptions externes" du volet "Explorateur de projet". Il est possible de visualiser sa structure.
  3. Déclarez la variable de la façon suivante :
    <Nom de la variable> est un YAML , description =  <Nom du document>

    ou
    <Nom de la variable> est un YAML <description =  "Nom du document">

    <Nom du document> peut correspondre au nom du document exemple (avec ou sans son extension).
    Remarque : Cette déclaration peut être obtenue automatiquement en "droppant" le nom du document texte directement depuis le volet "Explorateur de projet".
  4. Vous pouvez maintenant accéder directement aux noeuds de la variable par leurs noms. Ces noms sont proposés automatiquement par le mécanisme de complétion automatique de l'éditeur de code.
Remarque : Il est également possible d'obtenir l'assistance et la vérification à la compilation sur une sous-partie du YAML en utilisant la syntaxe suivante :
v2 est un YAML, description="FichierJSON.Membre.SousMembre"

v2 est un YAML <description="FichierJSON.Membre.SousMembre">

Affectation et lecture

Affectation d'une variable YAML
La notation "j = ..." essaie d'analyser la valeur comme une chaîne au format YAML. Cette notation est "presque" équivalent à la notation "j.FormatYAML = ..." sauf si la chaîne au format YAML est invalide : elle est alors recopiée directement sans interprétation, comme valeur de l'élément YAML.
La notation "j.Membre = ..." affecte la valeur du membre. Cette notation est équivalente à "j.Membre.Valeur = ... ".
Lecture d'une variable YAML
La notation "... = j" renvoie la chaîne au format YAML correspondant au contenu de la variable. Cette notation est équivalente à "... = j.FormatYAML".
La notation "... = j.Membre" renvoie la valeur du membre. Cette notation est équivalente à "... = j.Membre.Valeur".
Gestion des commentaires
Chaque ligne de commentaire est analysée :
  • si elle contient un caractère '#', tous les caractères précédant le caractère '#' ainsi que le caractère '#' lui-même sont ignorés, le reste est considéré comme un commentaire (apparaîtra dans la chaîne YAML précédé d'un caractère '#').
  • si elle est vide, une ligne vide sera intégrée dans la chaîne YAML.
Remarque : YAML importé et généré
La majorité des commentaires et le format général du document YAML sont importés et utilisés lors de l'exportation suivante afin de générer un document YAML d'une forme très proche de celui d'origine.
L'indentation d'origine n'est pas respectée, elle est régénérée.

Gestion des références

Pour référencer un membre d'un YAML existant depuis un autre membre de l'objet, il faut utiliser l'opérateur '<-'.
Config est un YAML
Config.Défaut.ConfigHTTP.Port = 80
Config.Défaut.ConfigHTTP.Protocole = HTTP
Config.Serveur.Interne.Configuration <- Config.Défaut.ConfigHTTP
Config.Serveur.InterneBackup.Configuration <- Config.Défaut.ConfigHTTP
Config.Serveur.Externe.Configuration.Port = 443
Config.Serveur.Externe.Configuration.Protocole = HTTPS

Propriétés spécifiques à la description des variables de type YAML

Les propriétés suivantes peuvent être utilisées pour manipuler une variable de type YAML :
Nom de la propriétéType manipuléEffet
AliasChaîne de caractèresNom d'alias à utiliser si l'élément est référencé plusieurs fois dans le même document.
Cette propriété est disponible en lecture seulement.
CommentaireAprèsChaîne de caractèresCommentaire suivant l'élément YAML dans la chaîne YAML générée.
CommentaireAvantChaîne de caractèresCommentaire précédant l'élément YAML dans la chaîne YAML générée.
CommentaireInterneChaîne de caractèresCommentaire interne de l'élément YAML dans la chaîne YAML générée.
ExisteBooléenEn lecture :
  • Vrai si l'élément existe,
  • Faux dans le cas contraire.
En écriture :
  • Vrai pour valider l'élément,
  • Faux pour supprimer l'élément.
FormatYAMLChaîne de caractèresChaîne au format YAML correspondant à la valeur de l'élément. Si cette chaîne n'est pas au format YAML, un warning est affiché.
MembreTableau de variables YAMLMembres de la variable YAML.
NomChaîne de caractèresNom du membre. Correspond à chaîne vide ("") s'il n'y a pas de membre.
OccurrenceEntierNombre d'éléments :
  • 1 pour les éléments simples et les objets,
  • Nombre d'éléments pour les tableaux.
Cette propriété est disponible en lecture seulement.
TypeEntierType de l'élément. Cette propriété est disponible en lecture seulement.
ValeurTous typesValeur de l'élément.
Liste des exemples associés :
Manipulation du YAML Exemples unitaires (WINDEV) : Manipulation du YAML
[ + ] Manipulation du YAML avec le type YAML du WLangage
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 10/07/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale