YAML – 节点属性
每个演示节点都包含两个主要特征,称为锚点和标签。节点属性可以通过节点内容指定,并可从字符流中省略。节点表示的基本示例如下 −
%YAML 1.1
---
!!map {
? &A1 !!str "foo"
: !!str "bar",
? !!str &A2 "baz"
: *a1
}
节点锚点
锚点属性表示将来需要引用的节点。节点中的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",
}
节点标签
标签属性表示完全定义节点的本机数据结构的类型。标记用(!)指示符表示。标签被认为是表示图的固有部分。以下示例详细说明了节点标签 −
%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"