【问题标题】:What is a markup language? (XML vs YAML vs JSON)什么是标记语言? (XML vs YAML vs JSON)
【发布时间】:2021-11-14 23:59:55
【问题描述】:

谁能给我解释一下什么是标记语言?为什么 XML 是一种标记语言,为什么 YAML 和 JSON 不是?

我已经阅读了很多文章,但没有一篇给出任何示例。如果有人可以通过一些示例帮助我理解这一点,那就太好了!

【问题讨论】:

  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。

标签: json xml serialization yaml markup


【解决方案1】:

XML 等标记语言的目的是表示文档,而 YAML 或 JSON 等数据序列化语言的目的是表示 数据。示例如下:

XML

<document>
  <paragraph>This is a <i>small</i> document</paragraph>
<document>

YAML

customer:
    first_name: John
    last_name:  Smith
    dob:        2000-01-01

JSON

{
  "customer":
    {
      "first_name": "John"
      "last_name": "Smith"
      "dob": "2000-01-01"
    }
}

从历史上看,有很多交叉使用,但最初以及现在,文档与数据的区别最能体现这种差异。

另见

【讨论】:

  • 嗨@kjhughes 非常感谢您提供示例。你能帮我解释一下代表文件是什么意思吗?还有,XML 与 HTML 有何不同?
  • 所提供的示例已经说明了表示文档的概念(相对于表示数据)。 XML/HTML 区别:HTML 通过一组固定的标签(htmlbodydivpb 等)表示网页文档。 XML 通常表示文档并允许创建新标签。 (历史记录:XHTML 在 XML 中定义了 HTML 标签。)
  • 我们可以用 XML 做同样的事情,不管我们用 YAML 做什么,对吧?那么两者有什么不同呢?
  • XML 和 YAML 之间的区别已经通过解释、示例和链接进行了介绍,以供进一步阅读。
【解决方案2】:

“标记”一词起源于文案编辑(人类)使用的手写标记,用于指示需要对文本进行的更改或应用于文本的样式(例如斜体、对齐、或分段符)。参见例如https://www.pinterest.co.uk/pin/407927678731145164/ 通常这些是给排字员(也是一个人!)的说明,排字员将负责创建第一个厨房校样,然后是最终的分页副本。

因此,标记的本质是注释文本以提供编辑元信息,以用于准备最终副本。 SGML、XML 和 HTML 坚定地遵循这一传统。

使用 XML 作为数据传输语法是应用相同技术的另一种方式,但这不是标记的设计目的。 JSON 和 YAML 可以很好地用作数据传输语法,但它们不适用于注释文本。

【讨论】:

    猜你喜欢
    • 2011-10-21
    • 2019-06-28
    • 1970-01-01
    • 2014-09-12
    • 2012-06-21
    • 1970-01-01
    • 2010-10-08
    • 2023-03-04
    • 2011-01-15
    相关资源
    最近更新 更多