YAML - Knoteneigenschaften

Jeder Präsentationsknoten enthält zwei Hauptmerkmale, die als bezeichnet werden anchor und tag. Knoteneigenschaften können mit Knoteninhalt angegeben werden, der im Zeichenstrom weggelassen wird.

Das grundlegende Beispiel für die Knotendarstellung lautet wie folgt:

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

Knotenanker

Die Ankereigenschaft stellt einen Knoten für zukünftige Referenz dar. Der Zeichenstrom der YAML-Darstellung im Knoten wird mit dem bezeichnetampersand (&)Indikator. Der YAML-Prozessor muss den Ankernamen mit den darin enthaltenen Darstellungsdetails nicht beibehalten. Der folgende Code erklärt dies -

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

Die Ausgabe von YAML, die mit Ankerknoten generiert wurde, ist unten dargestellt -

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

Knoten-Tags

Die Tag-Eigenschaft repräsentiert den Typ der nativen Datenstruktur, die einen Knoten vollständig definiert. Ein Tag wird mit dem (!) Indikator. Tags werden als inhärenter Bestandteil des Darstellungsdiagramms betrachtet. Im folgenden Beispiel werden Knoten-Tags ausführlich erläutert.

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

Knoteninhalt

Knoteninhalte können in einem Flow-Inhalt oder Blockformat dargestellt werden. Der Blockinhalt erstreckt sich bis zum Zeilenende und verwendet Einrückungen, um die Struktur zu kennzeichnen. Jede Sammlungsart kann in einem bestimmten Sammlungsstil für einen einzelnen Fluss dargestellt oder als einzelner Block betrachtet werden. Der folgende Code erklärt dies im Detail -

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