Учебники

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",
}

Теги узла

Свойство tag представляет тип собственной структуры данных, которая полностью определяет узел. Тег представлен с помощью ( ! ) Индикатора. Теги рассматриваются как неотъемлемая часть графа представления. Следующий пример подробно объясняет теги узла —

%YAML 1.1
---
!!map {
   ? !<tag:yaml.org,2002:str> "foo"
   : !<!bar> "baz"
}

Содержание узла

Контент узла может быть представлен в виде потока или в формате блока. Содержимое блока распространяется до конца строки и использует отступ для обозначения структуры. Каждый вид коллекции может быть представлен в определенном едином стиле сбора потока или может рассматриваться как один блок. Следующий код объясняет это подробно —