SGML(标准通用标记语言)是用于将纸质文档编码为电子格式的标准。 随着Internet的发展,很明显,HTML已经达到其局限性,不再能够提供对更多动态内容的需求。 XML(可扩展标记语言)是从SGML派生的一种语言,它包含的功能集更为有限,目的是使编码人员更容易使用它,因为SGML对于预期用途而言过于全面和复杂。 由于XML只是SGML的子集,因此SGML解析器能够读取和解码有效的XML文件。 尽管SGML文件可能具有XML解析器无法理解的功能,但不一定要相反。
作为一个子集,XML将没有SGML中不存在的功能。 以下是已删除内容的简短列表。
XML不再允许以下SGML声明:

  • DATATAG
  • OMITTAG
  • RANK
  • LINK
  • CONCUR
  • SUBDOC
  • FORMAL

XML不再允许以下SGML构造:

  • 空开始标签
  • 空结束标签
  • 未封闭的开始标签
  • 未封闭的结束标签

没有名称的属性规范
不允许在属性说明中直接输入属性值,而应以文字形式输入
SGML中不再允许以下SGML实体声明:

  • External SDATA entities
  • Internal SDATA entities
  • External CDATA entities
  • Internal CDATA entities
  • #DEFAULT entities
  • PI entities
  • Bracketed text entries

不再允许为实体指定属性。
编码人员将注释放入其代码的方式也已进行了更改。 注释声明不再允许有多个注释。 空的评论声明也被禁止。 参数分隔符不允许包含任何注释。 当然,这包括任何标记声明,但注释声明除外。

总结

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