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"