YAML節點屬性
每個表示節點包括兩個主要特徵,稱爲錨和標記。可以使用節點內容指定節點屬性,從字符流中省略。
節點表示的基本示例如下 -
%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"