YAML 节点属性
每个展示节点包括两个重要特性,即 锚点 和 标签 。节点属性可以与节点内容一起指定,也可以从字符流中省略。
节点表示的基本示例如下所示−
%YAML 1.1
---
!!map {
? &A1 !!str "foo"
: !!str "bar",
? !!str &A2 "baz"
: *a1
}
节点锚点
anchor属性表示将来可以引用的节点。节点中的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",
}
节点标签
标签属性表示完全定义节点的本地数据结构的类型。标签用( !
)指示器表示。标签被视为表示图的固有部分。下面的示例详细解释了节点标签:
%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"