在面试过程中常常会被问到,同学请说说“HTML,XHTML,XML三者有什么区别?”看着三者长得都差不多,但却不是很清楚到底有什么区别。
要想知道三者的区别,首先得知道什么是HTML?
- HTML是用来描述网页的一种语言
- HTML指的是超文本标记语言,而不是编程语言
- 标记语言是一套标记标签,HTML使用标记标签来描述网页
- HTML文档包含了HTML标签及文本内容
- HTML文档也叫WEB页面
HTML,XHTML,XML的联系:
- HTML是超文本标记语言,是最早写网页的语言,但由于时间过早,规范不是很好,大小写混写且代码不规范
- XHTML即是HTML的升级版,可扩展超文本标记语言,对HTML进行规范,编码更加严谨,也是一种过渡语言,HTML向XML过渡的语言。
- XML可扩展标记语言,是一种跨平台语言,编码更加自由,可以自由创建标签。
- 网页编码从HTML--->XHTML--->XML这个过程发展。
HTML与XHTML的区别:
HTML与XHTML之间的差别,粗略可以分为两大类比较:一个是功能上的差别,另外是书写习惯的差别。关于功能上的差别,主要是XHTML可兼容各大浏览器、手机以及PDA,并且浏览器也能快速正确地编译网页。
- 相较之HTML,XHTML具有良好完整的排版。
- XHTML 元素必须被正确地嵌套。
- XHTML 元素必须被关闭。
- 标签名必须用小写字母。
- XHTML 文档必须拥有根元素。
- XHTML 文档要求给所有属性赋一个值。
- XHTML 要求所有的属性必须用引号""括起来。
- XHTML 文档需要把所有 < 、>、& 等特殊符号用编码表示。
- XHTML 文档不要在注释内容中使“--”。
- XHTML 图片必须有说明文字。
- XHTML 文档中用id属性代替name属性。
- XHTML不支持属性最小化,什么是属性最小化了?
正确:非最小化属性(unminimized attributes)
<input checked="checked">
不正确:最小化属性(minimized attributes)
<input checked>
网页编码为什么会向 HTML--->XHTML--->XML这个过程发展。
早期的网页是使用HTML标记语言编写的,但它有三个非常严重的缺点:
- 编码不规范,结构混乱。需要智能的终端才能很好的显示。
- 表现和结构混乱,不利于开发和维护。
- 不能使用更多的设备,比如:手机,iPad等。
因此,HTML需要发展才能解决这个问题,于是W3C又制定了XHTML,XHTML是HTML向XML过渡的一个桥梁,而XML是WEB发展的趋势。