为何说 HTML5「no longer based on SGML」?
Jun 07, 2016 am 08:45 AM回复内容:
SGML 是一种很强大但很复杂的标记语言,HTML、XML 就是从中衍生出来的。SGML 的例子如下:
typically something likethis
最初的 HTML 也很像上面的这种样子,但后来逐渐演变到了 HTML5 后,就有一些新的规定和习惯,比如标签里的标签名和属性名必须小写等。所以说现时的 HTML5 已经不再基于 SGML 了。
——————补充——————
有人指出 HTML5 并没有规定标签名和属性名必须小写,事实的确如此。实际上 SGML 也没有规定标签名和属性名必须大写。虽然习惯如此。(早期的 HTML 跟随这一习惯)
又查了一些资料,补充一下我的理解:
SGML 最为强大和古老,XML 是 SGML 的一个子集,HTML 最初也试图成为 SGML 的一个子集,但 HTML 4 以前并不严格符合 SGML 的标准。后来出现了 HTML4,XHTML (符合 XML 标准的 HTML),这两者都符合 SGML 的要求。
到现如今,W3C 在制定 HTML5 标准时,希望摆脱 SGML 的一些无用的功能和声明,并延续 HTML4 的风格,而非严格的 XHTML 的风格。
所以,实际上 W3C 下与网页(超文本)相关的标准有两个系列:HTML 系列和 XHTML 系列。前者从 HTML 第一版一直发展到 HTML 4.x、HTML5,而 XHTML 系列从 XHTML 1.0、1.1、2.0 跳跃到 HTML5 的一部分:所谓的“XHTML5”。HTML 系列的工作重点在于丰富与超文本相关的功能、标记,提供较好的兼容性,更加面向“人”;而 XHTML 系列的工作重点在于将 HTML 改为更加符合 XML 严格规范的格式,更加面向“机器”。
XML 的语法很严格,是 W3C 的宝贝,所以 W3C 试图把各种东西都变成 XML 的子集或应用,比如 MathML,SVG 等。可是其地位逐渐受到其他一些轻量标记语言的威胁。
————
最后想说一点,这些乱七八糟的东西很多都是历史遗留问题,没有必要过多纠结。能写出漂亮的,优雅的网页才是一个开发者应该努力的方向。

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Bagaimana untuk menambah audio ke laman web html5 saya?

Bagaimanakah saya menggunakan API Penglihatan Halaman Html5 untuk mengesan apabila halaman dapat dilihat?

Bagaimana cara menggunakan borang HTML5 untuk input pengguna?

Bagaimanakah saya menggunakan tag meta viewport untuk mengawal skala halaman pada peranti mudah alih?

Bagaimana saya menggunakan API Pemberitahuan HTML5 untuk memaparkan pemberitahuan desktop?

Bagaimanakah saya mengendalikan privasi dan keizinan lokasi pengguna dengan API Geolokasi?

Bagaimanakah saya menggunakan API Drag dan Drop HTML5 untuk antara muka pengguna interaktif?

Bagaimanakah saya menggunakan API WebSockets HTML5 untuk komunikasi dua arah antara klien dan pelayan?
