Ответ 1
Если я правильно понял вопрос, я не думаю, что спецификация поддерживает переопределение элементов привязанных узлов.
При чтении spec (версия 1.2, но 1.1 говорит то же самое), раздел 7.1 Alias Nodes указывает (основное внимание):
Последующие вхождения ранее сериализованных node представлены как узлы псевдонимов. Первое вхождение node должно быть помечено якорем, чтобы последующие вхождения отображались как узлы псевдонимов.
Алиас node обозначается индикатором "*". Псевдоним ссылается на предыдущий предыдущий node, имеющий тот же якорь. Ошибка для псевдонима node для использования якоря, который ранее не встречался в документе. Не является ошибкой указывать якорь, который не используется никаким псевдонимом node.
Обратите внимание, что псевдоним node не должен указывать какие-либо свойства или содержимое, поскольку они уже указывались при первом входе node.
Два пункта:
-
"Ранее сериализованный node" - эта формулировка предполагает, что псевдоним предназначен для представления другого вхождения исходного node, а не только данных в оригинале node. Другими словами, он представляет один и тот же объект, а не копию.
-
Если псевдоним не может содержать какой-либо контент (вторая жирная секция), вы не можете указать переопределение в моде, предложенном в вопросе.
Итак, моя интерпретация спецификации заключается в том, что вы не можете сделать это в соответствии со спецификацией.
Однако - если вы вставляете пример (второй блок кода) из оригинала в этот онлайн-инструмент (вы можете снять флажок "canonical" ), этот инструмент интерпретирует он как и предполагалось в этом вопросе, копирует исходное содержимое, но переопределяет subkey100. То же самое для этого YAML Lint Tool, как и этот онлайн-парсер.
Таким образом, это работает на практике, но я не могу найти поддержку для него в спецификации.