为什么要用xhtml
1.XHTML更易于处理
手工编写整个页面时,使用XHTML并不会方便很多。事实上,仅从方便的角度说,使用XHTML还是HTML无关紧要。使用Dreamweaver等所见即所得(WYSIWYG)编辑器时,甚至看不到任何差别。不管选择哪种语言,该编辑器都只确保生成有效的XHTML或HTML。而使用IntelliJ等基于文本的编辑器时,将对XHTML和HTML提供相同功能,如输入时进行有效性验证及自动补全代码。
那么在什么情况下XHTML的优点将显示出来呢?在需要使用工具处理页面时,XHTML将极其方便。正如前面指出的,HTML是一种SGML应用,而XHTML是一种XML应用。由于XML比SGML简单,因此编写处理XML文档的工具比编写处理SGML文档的工具更容易。另外,当前有很多处理XML的标准,如用于转换数据的XSLT、用于验证有效性的XML模式以及用于从文档中提取数据的XPath和XQuery。对程序员而言,有很多定义良好的API可用于处理XML数据,如DOM和SAX。
上述因素都令XHTML更易于处理。对绝大多数Web 2.0网站而言,并非只是手工编写页面、将其存储到磁盘中,然后原样提供那么简单,而是动态生成的。如果读者的页面也是动态生成的,则使用XHTML将比使用HTML有显著的优势。
2.XHTML鼓励使用CSS
XHTML强烈要求将样式和内容分离。通过不包含任何与样式相关的标记,并使用CSS指定样式,也可以在HTML中将样式同内容分离。然而,XHTML提供了路线图:开始可使用过渡型XHTML 1.0,以支持与样式相关的标记;然后逐渐过渡到严格型XHTML 1.0或XHTML 1.1,它们可确保页面中没有使用任何与样式相关的标记。
3.在移动设备上,XHTML的表现更好
由于历史原因,浏览器仍须显示无效的HTML。然而,对于XHTML,包括FireFox和Opera在内的主流浏览器将更严格地遵循XHTML规则。例如,在XHTML中遇到缺少结束标签的情况时,它们将显示错误消息。
这也使只支持XHTML的浏览器变得简单得多,因为它们无需实现为处理HTML所需的复杂的解析和错误处理逻辑。由于简单得多,因此只支持XHTML的浏览器更小,而这对于需要将浏览器部署在移动设备而非笔记本电脑中而言显得尤为重要。现在很多手机都带有只支持XHTML的浏览器。通过使用XHTML创建网页,可使其适用于在移动设备中浏览。
4.XHTML是可扩展的
大多数编程语言都使用较小的数据类型集,并通过库机制添加新特性。例如,Java语言在核心定义了诸如整型和字符型等数据类型,但可通过库提供更复杂的数据类型。随着语言的发展,出现了越来越多具有各种用途的库,但其核心语言基本保持不变。
XHTML与此类似,它定义了一个由核心元素和属性组成的集合。在严格型XHTML 1.0和XHTML 1.1中,该集合比HTML中的小。在XHTML的基础上,可添加各种模块,如SVG(以便在页面中包含可伸缩的二维图形)、MathML(以便显示数学符号和数学内容)和Xform(进行高级表单处理)。这为XHTML提供了模块性和可扩展性。