YAML锚点/引用可以跨文件/文档发生吗?

18 yaml

刚刚开始使用YAML,并想确认是否可以跨单独的文件或单个文件中的单独文档使用其anchor(&)和reference(*)功能.例如,对于后者:

--- # Document A
Lunch: &lunch01     # Already thinking of lunch ;-)
    - BBQ Chicken
    - Sirloin Steak
    - Roast Beef
    - Salmon
...

--- # Document B
Monday:    *lunch01
Tuesday:   closed
Wednesday: *lunch01
Thursday:  closed
Friday:    *lunch01
...
Run Code Online (Sandbox Code Playgroud)

(如果我的语法不正确,仍然试图通过数组和字典的思考来转换.)

这有用吗?或者我会在运行时通过合并我选择的编程语言中的数据来解决这个问题吗?

小智 6

我不是YAML专家,但是根据我的经验,这是行不通的。我正在使用PyYAML,并且解析器在到达引用时引发错误,抱怨“未定义的别名”。

因此,您将必须在运行时合并数据。

  • 看来您是对的,请仔细阅读[这篇文章](http://code.google.com/p/snakeyaml/issues/detail?id=32)可以对其进行一些备份。 (2认同)