何时使用SGML和XML?

时间:2017-01-05 14:21:31

标签: xml sgml

这个问题等同于:"使用SGML over XML和XML over SGML有什么优缺点?"。

我已经知道SGML和XML之间的几个相似点和不同点,但他们没有回答这个问题。

的相似性

  1. SGML和XML都允许我们描述文档(结构,数据,元数据);
  2. 两者都将数据/结构/元数据的外观(颜色等)分开;
  3. SGML和XML都可以在Web页面/ Web中使用(即使XML在Web上比SGML更专业)
  4. SGML和XML文档必须包含DTD" VALID"
  5. 差异

    1. SGML提供了几种写东西的方法(例如:我们可以编写空的和非封闭的标签,我们可以写<foo>d</>等)。
    2. SGML文档可能很难编写
    3. 因此,SGML文件&#39;解析可能非常低而且很复杂
    4. XML是SGML的一个子集,使用
    5. 更易于学习
    6. XML不允许以与SGML相反的几种方式编写内容(例如:不允许使用空的和非封闭的标记)
    7. 因此,XML的解析比SGML的解析更简单,更快
    8. SGML文档没有状态&#34; WELL FORMED&#34 ;, XML表示。 (如果语法正确,则具有此状态)
    9. SGML文档必须包含DTD:不是XML文档。
    10. 但问题依然存在

      SGML / XML有哪些优点和缺点(即:何时使用其中一个而不是另一个?)?

2 个答案:

答案 0 :(得分:2)

不同之处在于,全世界都在使用XML并且有大量的软件,而SGML仅由小型高级神职人员使用,并且可用的软件很少。

在这种情况下的技术差异在很大程度上是无关紧要的。

答案 1 :(得分:2)

请允许我作为最近在SGML上花费了大量精力的人加入进来。

我认为你的第3点( XML比Web专用于Web 更加不正确)是不正确的,因为解析HTML超出了XML的能力;相反,我认为我们会在当代基于HTML的工作流程中看到SGML的使用增加,其中HTML既用作创作格式,也用作传送格式。

您的观点4( SGML必须具有DTD )仅适用于传统的SGML,但在1998年已经与XML规范一起,SGML的附件K修订版#34; WebSGML&# 34;放弃了这个要求,正是为了使无DTD的XML成为SGML的合适子集。当然,如果没有DTD声明,您就不会有标记遗漏/推断,空元素(HTML&#34; void&#34;元素),Wiki语法以及SGML对XML的所有其他强大功能。

另外,我要指出的是,我找到了一个&#34; SGML与XML&#34;讨论毫无意义。 SGML是XML的正确超集,可以下转换为XML,因此在使用SGML时您根本不会放弃任何内容。我个人同时使用XML和SGML; SGML,当我需要它的附加功能。

对于使用SGML的现代帐户,我想在http://www.xmlprague.cz/day2-2017/(&#34; HTML 5.1 DTD&#34;)上指向我的演讲/论文。