我没有看到是什么让YAML成为一种标记语言而不是XML.标记语言的目的是定义文档的结构,而YAML就是这样做的.(YAML代表Yaml不是标记语言.)
YAML应该代替的是另一种标记语言.
ing*_*net 114
这是真实的故事...... :)
Clark,Oren和我于2001年4月开始研究YAML.Oren和Clark是SML邮件列表的一部分,该列表试图简化XML.我刚刚为Perl编写了一个名为Data :: Denter的数据序列化语言.Clark联系我告诉我他们称之为YAML的想法,它看起来类似于Data :: Denter语法.克拉克已经收购了yaml.org.
经过我们几个月的合作,我指出YAML(当时最明确代表又一种标记语言)并不是一种标记语言(标记文本文档的各种元素)而是一种序列化语言(文本)类型/循环数据图的表示).我们都喜欢YAML这个名字,所以我们把它归为YAML不是标记语言.
YAML™(与"骆驼"押韵)是一种人性化的跨语言,基于Unicode的数据序列化语言,围绕敏捷编程语言的常见本机数据结构而设计.
我自己也不能说得更好......:
cla*_*ans 48
因此,标记语言假定基本文本(通常是人类可读的),然后是特殊指示符或直接处理的"标记".这个想法来自一位编辑,他将采用某人手稿的印刷版本,并"标记"以显示新线应该去哪里,编辑等.
通过这种方式,SGML是用于声明标记语言的元语言,而HTML是一种标记语言.在1996年7月,当XML出现时,它被作为用于创建标记语言的简化SGML元语言出售.在XML(和SGML)中,您有"标记"文本的一部分的元素,然后是修改标记的属性.随着时间的推移,XML不仅仅用于文档标记,人们将它用于数据序列化 - 即使它从未被设计为做这样的事情.当然,这是一个需要解决的大问题.
YAML和JSON出现在现场,专注于数据序列化,而不是文档标记.在这些语言中,根本没有核心文档文本.
因此,YAML不是标记语言与XML非常准确的区别.
XML 继承了 HTML 和 SGML 名称中的“ML”部分,它们是“标记”语言,因为它们描述的是纯文本流以及标记指令,例如“这段文本应该是粗体”或“这段文字是一个标题”。也就是说,文本的那些特定部分被标记为粗体或标题。
后来,一些人开始编写仅包含标签和属性的 XML,而没有用于标记这些标签的纯文本。(关于这是否是 XML 的适当使用,观点和风格各不相同)。当以这种方式使用时,XML 就成为一种用于记录树形结构数据的语言。
YAML“不是”标记语言,因为它的数据模型仅包含树结构,没有树结构适用的底层线性文本的概念。那里没有什么可以标记的——或者换句话说, YAML 流表示的数据不是标记。相反,XML 标签表示的数据是标记,或者至少根据某些观点认为是标记。(在这两种情况下,所述数据的表示都包含一些标记,例如 YAML 中的冒号和缩进或 XML 中的“=”和引号,但这不是重点)。
| 归档时间: |
|
| 查看次数: |
18202 次 |
| 最近记录: |