YAML - คุณสมบัติโหนด

โหนดการนำเสนอแต่ละโหนดมีลักษณะสำคัญสองประการที่เรียกว่า anchor และ tag. คุณสมบัติโหนดอาจถูกระบุด้วยเนื้อหาโหนดโดยละเว้นจากสตรีมอักขระ

ตัวอย่างพื้นฐานของการแสดงโหนดมีดังนี้ -

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

จุดยึดโหนด

คุณสมบัติจุดยึดแทนโหนดสำหรับการอ้างอิงในอนาคต สตรีมอักขระของการเป็นตัวแทน YAML ในโหนดแสดงด้วยนามสกุลampersand (&)ตัวบ่งชี้. โปรเซสเซอร์ 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",
}

แท็กโหนด

The tag property represents the type of native data structure which defines a node completely. A tag is represented with the (!) indicator. Tags are considered as an inherent part of the representation graph. The following example of explains node tags in detail −

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

Node Content

Node content can be represented in a flow content or block format. Block content extends to the end of line and uses indentation to denote structure. Each collection kind can be represented in a specific single flow collection style or can be considered as a single block. The following code explains this in 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"