Yaml-node-properties

提供:Dev Guides
移動先:案内検索

YAML-ノードのプロパティ

Each presentation node includes two major characteristics called anchor *and tag*. Node properties may be specified with node content, omitted from the character stream.

ノード表現の基本的な例は次のとおりです-

%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"