YAML - Propriétés du nœud

Chaque nœud de présentation comprend deux caractéristiques majeures appelées anchor et tag. Les propriétés du nœud peuvent être spécifiées avec le contenu du nœud, omis du flux de caractères.

L'exemple de base de la représentation des nœuds est le suivant -

%YAML 1.1
---
!!map {
   ? &A1 !!str "foo"
   : !!str "bar",
   ? !!str &A2 "baz"
   : *a1
}

Ancrages de nœud

La propriété anchor représente un nœud pour référence future. Le flux de caractères de la représentation YAML dans node est désigné parampersand (&)indicateur. Le processeur YAML n'a pas besoin de conserver le nom de l'ancre avec les détails de représentation qui y sont composés. Le code suivant explique cela -

%YAML 1.1
---
!!map {
   ? !!str "First occurence"
   : &A !!str "Value",
   ? !!str "Second occurence"
   : *A
}

La sortie de YAML générée avec des nœuds d'ancrage est indiquée ci-dessous -

---
!!map {
   ? !!str "First occurence"
   : !!str "Value",
   ? !!str "Second occurence"
   : !!str "Value",
}

Balises de nœud

La propriété tag représente le type de structure de données native qui définit complètement un nœud. Une balise est représentée avec le (!) indicateur. Les balises sont considérées comme faisant partie intégrante du graphique de représentation. L'exemple suivant explique en détail les balises de nœud -

%YAML 1.1
---
!!map {
   ? !<tag:yaml.org,2002:str> "foo"
   : !<!bar> "baz"
}

Contenu du nœud

Le contenu du nœud peut être représenté dans un contenu de flux ou un format de bloc. Le contenu du bloc s'étend jusqu'à la fin de la ligne et utilise l'indentation pour désigner la structure. Chaque type de collection peut être représenté dans un style de collection de flux unique spécifique ou peut être considéré comme un bloc unique. Le code suivant explique cela en détail -

%YAML 1.1
---
!!map {
   ? !!str "foo"
   : !!str "bar baz"
}

%YAML 1.1
---
!!str "foo bar"

%YAML 1.1
---
!!str "foo bar"

%YAML 1.1
---
!!str "foo bar\n"