联系
首先,从血缘上看,它们都是标记语言(Markup Language)。区别于编程语言(C/C++/Java)和脚本语言(JavaScript/PHP)主动的逻辑和行为能力,标记语言是一个被动等待消极厌世不作为的语言。它被设计于被读取,而不是发送指令。比如你不可能通过HTML来命令计算机计算出1+1=2,但可以轻易通过编程语言/脚本语言发出这个指令。简单的说,编程语言和脚本语言主动向计算机发送命令得到响应,标记语言被动等待浏览器显示出它们的内容。
HTML vs XML
HTML-Hyper Text Markup Language超文本标记语言,被设计用来显示数据,核心在于数据的外观。HTML文档==网页
XML-EXtensible Markup Language可扩展标记语言,被设计用于结构化、传输和存储数据,核心在于数据的内容。XML文档==纯文本
你可以选择在web应用程序中,使用XML传输数据,使用HTML格式化并显示数据。它们不是相似竞争互相替代的关系,它们互相合作和互补。
所以从设计理念上看,HTML和XML的关系,就像Java和Javascript、雷锋和雷峰塔的关系-即相互独立,基本没啥关系。
HTML4.01(发布于1999.12.24)是符合W3C推荐标准的HTML的常见版本和最新版本。
HTML vs XML1.XML没有类似HTML的预定义标签(如head、body、h1、p),XML的标签由文档的创作者决定,它被设计为具有自我描述性(如上图的note、from、to);
2.HTML的语法非常放荡不羁不拘小节,在HTML中,如果你没有正确关闭标签或者标签嵌套不正确,浏览器仍然可以显示出正确的信息。就好比"What's your name?"被讲成了"What your name?"或者"What are your name?"我们也是默认知道什么意思的。
但是XML是一个严格要求自己的语言,它有很多规则用来自律,比如所有元素必须有关闭标签;标签对大小写敏感;必须正确嵌套;必须有根元素;属性值必须加引号等。
倒霉孩子XHTML
今天的市场中存在着不同的浏览器技术,某些浏览器运行在计算机中,某些浏览器则运行在移动电话和手持设备上。而后者没有能力和手段来解释糟糕的标记语言。
XHTML-EXtensible HyperText Markup Language,看到这个名字,你猜测的没错,XHTML是HTML和XML近亲结婚的结晶,它是具备XML严格语法的HTML网页。XML1.0是以XML重构的HTML4.01。XHTML被设计于取代HTML,但它在更新到XHTML1.1版本之后就夭折了。
HTML5
HTML5是下一代HTML,它被设计用来替代HTML/XHTML,目前仍处于完善之中。它是对HTML4.01的补充,可以被看做HTML4.01的超进化。
HTML5包括:
1.添加语义化标签,如header、footer、nav、article、aside、section
2.新的表单控件,如range、email、url、search、color、number、search和Date Pickers(date\month\week\time\datetime\datetime-local);新的表单元素如datalist;新的表单属性如autocomplete和novalidate;新的input属性如aotofocus、list、form、min\max\step等。
3.绘画的canvas和矢量图svg
4.媒介回放的video和audio
5.拖放drag/drop
6.删除了上世纪九十年代的一些标签,如font、frameset
XHTML vs HTML5
XHTML旨在规范HTML的格式;HTML5旨在将HTML真正的富应用化。
HTML5有两种风格,一种是严格模式,一种是宽松模式。XHTML虽然已经夭折,但是它整洁的书写风格得到了大家的喜爱。虽然HTML5对标签闭合、属性值引号等都不强求,但是人们还是更愿意编写或看到更整洁的样式。我觉得HTML5严格模式是没那么理想化的XHTML。
“XHTML出师未捷身先死,HTML5集万千宠爱于一身。”
小结
网友评论