20

我经常听到人们在列出他们知道的编程语言时提到 XML。

但它甚至是一种编程语言吗?

我将 XML 视为类似于 JSON 的“数据集”。

此外,我见过一些需要 XML 知识的公司,但是……有什么要了解的?

4

6 回答 6

16

编程语言?

首先,XML是一种表示数据的格式。它最初是为这些数据设计的,本质上是文本文档或消息,但没有什么能阻止您表示您希望的任何数据,包括程序。我想到了至少三个用XML表示的程序的大示例:

  1. XSLT是一种图灵完备的语言,其唯一的标准格式是 XML,其基本目的是数据转换。
  2. ANT是一个任务管理器,主要用于编译管理,其任务是用 XML 描述的。
  3. GCC-XML是 GCC 可以用来输出其源代码解析结果的一种格式。

在更深奥的注释中,您可以引用o:XML,一种成熟的XML编程语言。

因此,由于任何XMLDTD或 Schema 在语义上扩展了XML本身,您可以从技术上说 XML 本身,通过它的一些扩展,一种编程语言。

有很多要知道的吗?

其次,XML 是一个巨大的规范星云,大多数人只是勉强接触到表面。大多数人甚至都不会想象 XML 本身的极端情况,更不用说 XML 命名空间、XML 模式、XML 信息集、XQuery、XPath、XSLT、XSL-FO、XML 规范化、XML 签名、高效 XML 交换、XML 链接中的内容了, ETC。

所以,是的,我想说有很多要知道的...

于 2013-07-28T19:38:26.503 回答
8

XML 不是一种编程语言。

有些编程语言使用 XML 语法,特别是 XSL。

然而,有很多关于 XML 的知识需要学习。它的语法规则、名称空间、DTD 和模式如何工作等。此外,使用 XML 的程序员需要如何通过 DOM 和 XPath 与文档交互,即使他们使用的语言本身不是基于 XML 的。

于 2012-12-02T01:52:56.637 回答
2

XML 不再是一种编程语言,而不是 HTML,但是很多人也会将 HTML 列为一种编程语言,所以这并不奇怪。

那里有什么要知道的?

XML 有其独特的怪癖,尽管这些库非常强大,但知道如何使用这些库并知道如何处理库无法处理的奇怪事情非常重要。

例如,下面的代码会给你一个“unexpected token at 0 : '&'”错误,即使任何有 XML 经验的人都知道问题到底是什么。如果您对 XML 一无所知,那它看起来就像是垃圾。

<Root>
    <Leaf />
</Root>
于 2012-12-02T01:55:05.950 回答
0

XML 不是一种编程语言。

有多少要知道?只需浏览 StackOverflow 上标记为 XML 问题的问题。

于 2012-12-02T16:51:39.117 回答
0

不。

它没有定义表达计算机程序的方法。

它是一种标记语言,定义了表达数据的方式。当你说它与 JSON“相似”时,你是对的——它是一个等价的东西。

人们对 XML 说了很多话,通常,当您看到一家公司需要“XML 知识”时,这只是因为他们是 2000 年代中期管理界可笑的 XML“热潮”的一部分,甚至还没有从那开始您不能真正“了解”太多关于 XML 的知识,而且它不适用于管理层坚持 XML 是工作的大量事情,因为它是一个流行词。

于 2012-12-02T01:54:36.107 回答
0

XML 不是一种编程语言。

我同意维基百科的观点:“编程语言是编写程序的符号,是计算或算法的规范。”

有一些编程语言的语法是 XML,然而,这并没有使 XML 本身成为一种编程语言。这就像说纯文本是一种编程语言,因为有些编程语言可以用纯文本表达。

换句话说,XML 本身不提供“计算或算法的规范”。

于 2019-08-21T14:14:51.933 回答