YAML - Proprietà del nodo

Ogni nodo di presentazione include due caratteristiche principali chiamate anchor e tag. Le proprietà del nodo possono essere specificate con il contenuto del nodo, omesso dal flusso di caratteri.

L'esempio di base della rappresentazione del nodo è il seguente:

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

Ancoraggi dei nodi

La proprietà anchor rappresenta un nodo per riferimento futuro. Il flusso di caratteri della rappresentazione YAML nel nodo è indicato conampersand (&)indicatore. Il processore YAML non ha bisogno di preservare il nome dell'ancora con i dettagli di rappresentazione composti in esso. Il codice seguente spiega questo:

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

L'output di YAML generato con i nodi di ancoraggio è mostrato di seguito:

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

Tag nodo

La proprietà tag rappresenta il tipo di struttura dati nativa che definisce completamente un nodo. Un tag è rappresentato con il (!) indicatore. I tag sono considerati parte integrante del grafico di rappresentazione. Il seguente esempio spiega in dettaglio i tag del nodo:

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

Contenuto del nodo

Il contenuto del nodo può essere rappresentato in un contenuto di flusso o in un formato a blocchi. Il contenuto del blocco si estende fino alla fine della riga e utilizza il rientro per denotare la struttura. Ogni tipo di raccolta può essere rappresentato in uno specifico stile di raccolta a flusso singolo o può essere considerato come un blocco unico. Il codice seguente lo spiega in dettaglio:

%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"