Est-il syntaxe YAML pour le partage d'une partie d'une liste ou sur la carte?

Donc, je sais que je peux faire quelque chose comme ceci:

sitelist: &sites
  - www.foo.com
  - www.bar.com

anotherlist: *sites

Et ont sitelist et anotherlist les deux contiennent www.foo.com et www.bar.com. Cependant, ce que je veux vraiment, c'est pour anotherlist à aussi contenir www.baz.com, sans avoir à répéter www.foo.com et www.baz.com.

Faisant cela me donne une erreur de syntaxe dans le fichier YAML analyseur:

sitelist: &sites
  - www.foo.com
  - www.bar.com

anotherlist: *sites
  - www.baz.com

Juste en utilisant des ancres et des alias il ne semble pas possible de faire ce que je veux sans ajouter un autre niveau de la sous-structure, tels que:

sitelist: &sites
  - www.foo.com
  - www.bar.com

anotherlist:
  - *sites
  - www.baz.com

Ce qui signifie que la consommation de ce fichier YAML est d'en être conscient.

Est-il un pur YAML moyen de faire quelque chose de ce genre? Ou devrai-je utiliser certains post-YAML de traitement, telles que la mise en œuvre de la substitution de variable ou de levage automatique de certains types de sous-structure? Je suis déjà en train de faire ce genre de post-traitement pour gérer un couple de d'autres cas d'utilisation, donc je ne suis pas totalement opposé à elle. Mais mes fichiers YAML vont être écrits par des êtres humains, pas des machines généré, donc je voudrais limiter le nombre de règles qui doivent être mémorisées par mes utilisateurs sur le dessus de la norme syntaxe YAML.

J'aimerais aussi pouvoir faire la même chose avec les cartes:

namedsites: &sites
  Foo: www.foo.com
  Bar: www.bar.com

moresites: *sites
  Baz: www.baz.com

J'ai eu une recherche par le biais de la YAML spec, et ne pouvait pas trouver quoi que ce soit, je crois que la réponse est "non vous ne pouvez pas faire cela". Mais si quelqu'un a des idées, ce serait génial.


EDIT: Depuis, il ya eu pas de réponses, je suis en supposant que personne n'a repéré quelque chose que je n'ai pas dans le fichier YAML spec et que cela ne peut pas être fait à la YAML couche. Je suis donc l'ouverture de la question à l'idée de post-traitement du YAML pour aider à cela, dans le cas où quelqu'un trouve cette question à l'avenir.

InformationsquelleAutor Ben | 2012-02-13