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"
广告