SGML(标准通用标记语言)是将纸质文件编码为电子格式的标准。随着互联网的发展,HTML显然已经无法提供更多动态内容的需要,因为它已经达到了它的局限性。XML(可扩展标记语言)是一种从SGML衍生出来的语言,它包含一个更有限的功能集,以便让编码者更简单地使用它,因为SGML对于预期的使用来说太全面和复杂了。由于XML只是SGML的一个子集,SGML解析器能够阅读和解码有效的XML文件。但反过来也不一定,因为SGML文件可能有XML解析器不理解的功能。
作为一个子集,XML中不会有SGML中不存在的特征。下面是被删除的内容的简短清单。
下列SGML的声明在XML中不再被允许:

  • DATATAG
  • OMITTAG
  • 排名
  • 链接
  • CONCUR
  • 次级文件
  • 格式化

下列SGML结构在XML中不再被允许:

  • 空的起始标签
  • 空的结束标签
  • 非封闭的开始标签
  • 未封闭的结束标签
  • 没有名称的属性规范

在属性规范中直接输入属性值是不允许的,应该在字面上输入。

在SGML中不再允许下列实体的声明:

  • 外部SDATA实体
  • 内部SDATA实体
  • 外部CDATA实体
  • 内部CDATA实体
  • DEFAULT实体
  • PI实体
  • 带括号的文本条目
  • 不再被允许为实体指定属性

编码者在代码中放置注释的方式也发生了变化。一个注释声明不再允许有一个以上的注释。一个空的注释声明也被禁止了。一个参数分离器不允许包含任何注释。这包括任何标记声明,当然,不包括注释声明。

SGML和XML的区别

  1. XML是SGML的一个子集
  2. 与SGML相比,XML更简单
  3. XML文档应该可以用SGML解析器阅读,而一些SGML可能在XML解析器中产生错误
  4. 在XML中已经删除了一系列SGML的声明
  5. 一些在SGML中允许的结构在XML中不再允许。
  6. 一些SGML的实体在XML中不再被允许
  7. SGML中的一些注释做法在XML中也被禁止了。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:SGML和XML的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-sgml-vs-xml.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。