YAML最适合的应用/利用类型是什么?

时间:2008-09-17 07:06:49

标签: xml markup yaml

为什么会选择YAML而非XML或任何其他格式?

5 个答案:

答案 0 :(得分:9)

我同意塞尔吉奥; YAML提供了一种易于人类编辑的格式,也是一种干净地表示数据结构的好方法。

YAML往往更具人性化,IMO。

YAML更像是一种数据序列化技术,而不是标记语言。

答案 1 :(得分:7)

YAML的主要优点是人类的可读性和紧凑性。哦,它在各种平台和语言中得到广泛支持。

YAML在Ruby社区中非常流行,例如,它主要用于优先使用Rails和Merb中的配置文件的XML。

答案 2 :(得分:4)

如果需要由人类编辑或创建文档,我会选择YAML。只是一个想法。

答案 3 :(得分:1)

  

YAML最适合的应用/利用类型是什么?

这很难清楚地回答。相反,我会尝试提供一些YAML 不适合的例子(以我的拙见)。

<name type="string">Orion</name>
<age type="integer">26</age>

这是在XML中混合属性和值有用的情况。 YAML没有属性,所以你必须使用类型推断来决定什么是日期/整数/字符串/等 - 这对于复杂或用户定义的类型都是失败的。

<user>
  .... 10 lines of stuff
  <sub-user>
    ...15 more lines of stuff
  </sub-user>
  .... 10 more lines of stuff belonging to user
</user>

这种情况下XML中的结束标记提供了很多好处。如果你要在YAML中格式化上述数据,只使用缩进来提供“范围”,那么要知道事情的起点和终点要困难得多。

为了更好地衡量,这里是official yaml spec at yaml.org

的引用
  

YAML主要是一种数据序列化语言。 XML被设计为向后兼容标准通用标记语言(SGML),因此YAML不会共享许多设计约束。 XML继承了SGML的遗产,旨在支持结构化文档,其中YAML更紧密地针对数据结构和消息传递。 XML是许多领域的先驱,YAML是从XML和其他技术中汲取的经验教训的结果。

答案 4 :(得分:0)

我使用YAML作为编写特定领域语言的廉价而简单的替代品(特别是在其他开发人员将进行维护的情况下;我不确定在非开发人员维护它时会使用它)