YAML - Thuộc tính nút
Mỗi nút trình bày bao gồm hai đặc điểm chính được gọi là anchor và tag. Thuộc tính nút có thể được chỉ định với nội dung nút, được bỏ qua khỏi luồng ký tự.
Ví dụ cơ bản về biểu diễn nút như sau:
%YAML 1.1
---
!!map {
? &A1 !!str "foo"
: !!str "bar",
? !!str &A2 "baz"
: *a1
}
Node Anchors
Thuộc tính neo đại diện cho một nút để tham khảo trong tương lai. Dòng ký tự của biểu diễn YAML trong nút được biểu thị bằngampersand (&)chỉ báo. Bộ xử lý YAML không cần phải giữ lại tên neo với các chi tiết biểu diễn được tạo trong đó. Đoạn mã sau giải thích điều này:
%YAML 1.1
---
!!map {
? !!str "First occurence"
: &A !!str "Value",
? !!str "Second occurence"
: *A
}
Đầu ra của YAML được tạo bằng các nút neo được hiển thị bên dưới:
---
!!map {
? !!str "First occurence"
: !!str "Value",
? !!str "Second occurence"
: !!str "Value",
}
Thẻ nút
Thuộc tính thẻ đại diện cho kiểu cấu trúc dữ liệu gốc xác định một nút hoàn toàn. Một thẻ được đại diện bằng (!) chỉ báo. Các thẻ được coi là một phần vốn có của biểu đồ biểu diễn. Ví dụ sau về giải thích chi tiết các thẻ nút:
%YAML 1.1
---
!!map {
? !<tag:yaml.org,2002:str> "foo"
: !<!bar> "baz"
}
Nội dung nút
Nội dung nút có thể được biểu diễn dưới dạng nội dung luồng hoặc định dạng khối. Nội dung khối kéo dài đến cuối dòng và sử dụng thụt lề để biểu thị cấu trúc. Mỗi loại tập hợp có thể được biểu diễn theo một kiểu tập hợp luồng đơn cụ thể hoặc có thể được coi là một khối duy nhất. Đoạn mã sau giải thích chi tiết điều này:
%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"