每個表示節點包括兩個主要特徵,稱為錨和標記。可以使用節點內容指定節點屬性,從字元流中省略。
節點表示的基本範例如下 -
%YAML 1.1
---
!!map {
? &A1 !!str "foo"
: !!str "bar",
? !!str &A2 "baz"
: *a1
}
anchor
屬性表示將來參考的節點。 節點中YAML表示的字元流用&
符號表示。 YAML處理器不需要保留錨名稱以及其中包含的表示細節。以下程式碼解釋了這一點 -
%YAML 1.1
---
!!map {
? !!str "First occurence"
: &A !!str "Value",
? !!str "Second occurence"
: *A
}
錨節點生成的YAML輸出如下所示 -
---
!!map {
? !!str "First occurence"
: !!str "Value",
? !!str "Second occurence"
: !!str "Value",
}
tag
屬性表示完全定義節點的本機資料結構的型別。 標籤用(!
)指示符表示。 標籤被視為表示圖的固有部分。 以下範例詳細說明了節點標籤 -
%YAML 1.1
---
!!map {
? !<tag:yaml.org,2002:str> "foo"
: !<!bar> "baz"
}
節點內容可以以流內容或塊格式表示。 塊內容延伸到行尾並使用縮排來表示結構。 每種集合型別可以以特定的單流集合樣式表示,或者可以視為單個塊。 以下程式碼詳細解釋了這一點 -
%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"