每個表示節點包含兩個主要特徵,稱爲錨定和標記。可以使用節點內容指定節點屬性,從字符流中省略。
節點表示的基本示例如下−
%YAML 1.1 --- !!map { ? &A1 !!str "foo" : !!str "bar", ? !!str &A2 "baz" : *a1 }
Node Anchors
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", }
Node Tags
tag屬性表示完全定義節點的本機數據結構的類型。標記用(表示!)指示器。標記被認爲是表示圖的固有部分。下面的示例詳細解釋了節點標記−
%YAML 1.1 --- !!map { ? !<tag:yaml.org,2002:str> "foo" : !<!bar> "baz" }
Node Content
節點內容可以用流內容或塊格式表示。塊內容擴展到行尾並使用縮進表示結構。每種集合類型可以用特定的單流集合樣式表示,也可以視爲單個塊。下面的代碼詳細解釋了這一點;