HTML中DTD和SGML的含义是什么? 他们之间是否存在关系? 任何人都可以帮助我,非常感谢你。
答案 0 :(得分:2)
SGML是一种元语言,它定义了如何以明确定义的语法存储数据的通用结构。你可以把它想象成各种方式的XML的前身。 HTML是一种遵循SGML指定的语法和规则的语言,因此它是一种SGML兼容语言。同样,XHTML也符合XML规则。
DTD(Doc type Definition的缩写)是一种可用于定义SGML(或XML,但通常使用XSD)语言的语言。 DTD指定哪些元素和属性在语言中的哪个上下文中有效。
tl; dr:SGML指定HTML的SYNTAX(以及如何解析它),相应的DTD(不是DTD作为标准本身 - 指定如何构建DTD)告诉您允许哪个内容HTML。
[编辑]:只是为了澄清:SGML不是它自己的语言。它只是其他语言可以合并的标准,用于指定语法而无需再次完成所有工作。定义SGML语言基本上就像编写另一个DTD一样简单,而完全指定完全独特的语法和解析规则需要做很多工作。 (当然,再次与XML相同)。