发展历史
XHTML最早叫做“HTML in XML”,是一种基于XML的超文本标记语言,也就是说,将以前用 SGML定义的HTML改为用XML重新定义。从这个意义上讲,XHTML实际上是XML的一种应用。表面上看,在XHTML中,其标记仍旧延用以往的HTML 的标记,各元素和属性的名称和用法也几乎不变,只不过由于改为用XML定义,就必须严格按照XML语言规范来处理了。提起XHTML,就不能不先来看一下 XHTML的发展历史。3
XHTML的前身是大名鼎鼎的HTML,HTML作为在Internet/Intranet网上进行数据浏览和数据交换的一种先进的文件格式规范,以浏览器为依托凭借着其丰富而强大的功能打破了传统的数据浏览方式,给人以耳目一新的感觉,也极大地推动了Internet的发展。但是,随着HTML应用的不断深入,其不足之处也逐渐暴露出来。首先,实际应用中的HTML相当不规范。虽然W3C早己制定出HTML的规范,但是出于商业动机.当今两大Web浏览器软件制作厂商Microsoft 和 Netscape为了抢占日益扩大的浏览器市场,纷纷在HTML中加入自己定义的非规范的标记,并在自己的浏览器中提供相应的特殊支持,旨在占领更大的浏览器市场份额,以达到左右HTML标准的制定并最终将竞争对手打垮的目的。这种不良竞争的结果,造成HTML标记的过度膨胀,大量与标准HTML不一致的标记充斥于Internet的大小角落,而且某些HTML标识符只能在Netscape Navigator上才能执 行,而另一些只在Internet Explorer上才是有效的。这 种情况给网页设计人员带来很大的麻烦。其次,随着技术的飞速发展,新的Web浏览工具不断被开发出来, 从小巧的掌上电脑到功能特异的能上网的手机再到最 近被炒得沸沸扬扬的数字机顶盒,网上浏览再也不必局限于桌上电脑了。据权威人士预测,到2002年,大约 75%的网页将会通过非桌上型电脑来浏览。但是,我们不禁又问,到底现在的HTML标准是不是真得适合在各种非桌上型电脑中进行浏览呢?很不幸,回答是否定的,现在的HTML不能解决这个难题。另外,HTML只能利用现有的有限标记.而且大多数标记都没有实际的含义,这使得它越来越不适应人们不断增加的需求。在这种情况下,在各大知名厂商的压力下,W3C组织于1998年底成立工作组,专门讨论XHTML标准的制定。好在在此之前,W3C已正式推出XML1.0规范,这无疑为XHTML规范的制定奠定了强大的基础。经过不断的讨论,该工作组于1998年12月5日提出第一个草案,并在随后次年的2月24日、3月4日、5月5日分别公布了阶段性草案。1999年8月24日,第一个建议标准正式推出。不过,还应指出的是,这并不意味着就一定能成为正式标准,事实上, XHMTL1.0的这份标准目前正处于激烈的讨论中,争议的焦点之一是名称空间(namespace)的解释问题。不过.现在总算有了一线希望,相信出路就在前方。3
形成背景一方面,缺乏语法规范性的HTML文档。实际上,万维网中的许多页面都是规范性很差、语法很不严谨的HTML文档,但仍然可以用Web浏览器打开。
另一方面,现今的软件市场上存在着不同厂商提供的Web浏览器。国外流行的Web 浏览器有 Microsoft Internet Explorer、Mozil丨a Firefox 和 Google Chrome 等,国内有搜狗、 腾讯 Tencent Traveler、遨游Maxthon、世界之窗Theworld和360安全浏览器等。如果设计和制作网页的语言缺乏必要的规范、语法不严谨,运行在计算机上的不同Web浏览器将难以支持万维网中数以亿计的网页。反之.如果使用统一规范的网页设计和制作语言,使得 HTML文档都具有规范和良好的结构,Web浏览器与网页之间的适配性将得到大大增强。1
XHTML的面世为了规范网页设计和制作语言,W3C于2000年推出了XHTML。
目前,较流行的XHTML 1.0版本有以下三种。
(1)XHTML1.0 Strict(严格版)。严格版是根据HTML 4.01 Strict改编的。与 HTML 4.01 Strict —样,在XHTML 1.0 Strict中不能使用表现性元素或属性,例如 center、font、s、strike 和 u 等元素以及 align background 和 bgcolor 等属性。1
(2)XHTML 1.0 Transitional(过渡版)。过渡版是根据HTML 4.01 Transitional改编的.与HTML 4.01 Transitional—样,可以使用一些在Strict版本中禁用的表现性元素或属性。
(3)XHTML 1.0 Frameset(框架版)。框架版是根据HTML 4.01 Frameset改编的.允许在网页中定义框架。
在上述三种XHTML 1.0版本中,XHTML 1.0 Transitional规定了XHTML的基本语法。XHTML 1.0 Strict不仅遵循XHTML的基本语法规定,而且不允许使用表现性元素或属性.在XHTML 1.0 Transitional和 Strict 的基础上,XHTML 1.0 Frameset 允许在网页中定义框架。1
总之.XHTML是一种增强型的HTML,是语法更严谨、元素更纯净的HTML版本. XHTML有助于编写良构(Well-structured)的HTML文档。这些HTML文档可以很好地工作于IE、Firefox和Chrome等各种品牌的Web浏览器,并且能够向后兼容。此外,XHTML还具有良好的可扩展性和灵活性,不仅支持台式计笕机和便携式电脑而且支持iPad、iPhone等手持移动通信设备.能够适应未来网络应用的更多需求。1
语法规定HTML的语法比较松散.网页设计和制作者使用起来比较方便。但对Web浏览器来说.网页设计语言的语法越松散.处理起来却越困难。因此,W3C在制定XHTML规范时,要求编写HTML文档时必须遵循更加严格和规范的语法。
(1)必须关闭打开的标签。
在HTML中,允许某某些非空元素只有开始标签,而可以没有结束标签。例如,li元素的开始标签可以不用结朿标签来关闭.但这在XHTML中是不允许的。XHTML规定,必须关闭打开的标签,换言之,开始标签必须有相应的结束标签。1
对于br和img等空元素(即没有结束标签的元素要在开始标签中的元素名后面使 用“/”来关闭。例如,
必须写为
,必须写为。
(2)元素名和属性名都必须小写。
在HTML中,标签中的元素名和属性名可以小写,也可以大写。但与HTML不同, XHTML是大小写敏感的(Case Sensitive),元素名和域性名必须小写,并且不允许大小写夹杂。例如.在HTML中允许、,但在XHTML只允许