📜  YAML-节点属性

📅  最后修改于: 2020-10-14 08:41:05             🧑  作者: Mango


每个表示节点包括两个主要特征,分别称为anchortag 。节点属性可以用节点内容指定,字符流中省略。

节点表示的基本示例如下-

%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 {
   ? ! "foo"
   : ! "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"