对我来说,可用意味着:
它正在被实际使用
>它有工具支持。 (至少有一些简单的编辑器)
>它具有人类可读的语法(不能有尖括号)
此外,我希望它尽可能接近XML,即必须支持属性以及属性。所以,不要YAML。目前,只有一种匹配的语言出现在我的脑海里 – JSON.你有没有其他的选择?
YAML是JSON的100%超集,所以拒绝YAML然后考虑使用JSON是没有意义的。 YAML做了一切JSON,但是YAML也提供了更多的东西(如引用)。
我不能想到XML可以做的任何事情,YAML不能,除了验证一个DTD的文档,这在我的经验从来没有值得开销。但是YAML比XML更快更容易键入和读取。
对于属性或属性,如果你想到它,它们并不真正地“添加”任何东西…它只是一个标志性的快捷方式来写东西作为节点的属性,而不是放在它自己的子节点。但是,如果你喜欢这个方便,你可以经常用YAML的内联列表/哈希值来模拟它。例如:
<!-- XML --> <Director name="Spielberg"> <Movies> <Movie title="Jaws" year="1975"/> <Movie title="E.T." year="1982"/> </Movies> </Director> # YAML Director: name: Spielberg Movies: - Movie: {title: E.T.,year: 1975} - Movie: {title: Jaws,year: 1982}
对于我来说,奢侈的无需编写每个节点标签两次,结合了所有角支架垃圾的自由,使YAML成为首选。我也实际上喜欢缺少正式的标签属性,因为我似乎总是像一个灰色的XML区域,它不必要地引入了两组语法(在写和遍历时)基本上是相同的概念。 YAML完全消除了这种混乱。