HTML与XHTML,html xhtml html5的区别
大多数人用HTML 4和XHTML 1写网页。相对较少的HTML爱好者了解语义HTML的概念,验证HTML结构,提高文档的可访问性。高质量的HTML文档是反复权衡、设计优化和讨论的结果。尽管有许多批评,但没有一种语言的受欢迎程度可以与HTML相比。大部分用户对标准的现状很满意,仿佛与生俱来。
但是像许多其他标准一样,HTML有它的继承者。即使现在,专家们仍在考虑HTML的下一个版本,解决当前版本中所有已知的问题。像任何一个拥挤的地方一样,这些专家对这项工作的未来方向持有不同的意见。
关于新HTML版本的第一个提议来自W3C组织的一个工作组。工作组的思路围绕着XHTML 2——该标准延续了原有的进一步提纯XHTML,回归第一版HTML设计理念的发展方向。
W3C之外的一些重要的HTML专家——浏览器供应商、Web开发人员、作者和其他相关人员——不同意XHTML 2的方向。2004年,他们成立了一个独立的工作组,并为新的HTML版本提出了新的设计方向。在WHATWG(Web超文本应用技术工作组)的名义下,他们推出了HTML 5和Web Forms 2。
若干年后,工作草案清晰地描述了HTML的另一个发展方向。2007年4月,W3C对是否接受HTML 5进入标准审查程序的提案进行了投票,但不承认其为官方标准。大多数人都同意。所以出现了一个有趣的情况:W3C同时研究两个相互竞争的HTML和XHTML后继技术。理论上,两者都有很好的理由。实事求是地说,要让所有主流浏览器都支持这两个标准,还有很多障碍需要克服。
这是导致目前局面的基本事实。讨论这两个提案之间的真正差异更有意义。本文简要介绍了这两个方案的基本观点,并分析了它们的设计理念。常用缩写
CSS:级联样式表
超文本标记语言
W3C:万维网联盟
XHTML:可扩展超文本标记语言XHTML简史
理解XHTML 2背后的设计概念需要一点历史知识。在20世纪90年代早期,第一个HTML版本是基于标准通用标记语言(SGML)的。主要区别在于超链接的特征——万维网的关键基础和成功因素。像SGML一样,HTML允许作者描述文档的结构,将标题与段落、有序列表和无序列表分开。屏幕上显示的结果与浏览器相关。
随着Web的日益普及,HTML用户要求控制页面的外观和感觉。制造商在HTML 2和3中引入了新的特性。网页变得难以理解,复杂的嵌套表格结构成为控制页面布局的主要手段。文档的其余部分充满了字体标签和颜色声明。原始文件结构已经很难整理了。
HTML 4的出现就是为了结束这种困惑。它将表示逻辑推送到CSS,并引入一个层(DIV)用于高级内容定位。与HTML 3相比,这意味着代码编写模式的改变。为了简化迁移过程,HTML 4的过渡版本支持旧的HTML 3结构。高级用户的严格版要求内容和表示完全分离。
第一个HTML 4网站将DIV作为新的圣杯,几乎使用了页面中每一个需要稍微修饰的元素,包括(但不限于)页眉。HTML样式属性是描述显示细节的常见地方。最终,这些铺天盖地的表格从网页上消失了。但是内容和表示逻辑仍然是混杂的。基本的CSS文件只有几行。
最近,一些知名的Web开发人员提出了一种更巧妙的HTML 4样式表的方法。在现代浏览器中,CSS属性不仅限于DIV元素。如果愿意,您可以为任何HTML元素指定一种样式。许多博客开始谈论语义HTML。DIV元素没有被完全禁止,但是网页作者开始使用最能描述其内容的HTML元素。例如,大多数网站的导航菜单最好用无序列表来描述。再举一个例子,不要对段落元素使用类名,比如bigHeader,而是将其改为H1元素,然后根据需要使用CSS修改表示。
与此同时,W3C提出了XHTML 1,作为符合结构良好且有效的HTML 4的XML版本。对于XML用户来说,这简化了将XML内容转换成网页以及用现有的验证程序检查转换结果的工作。XHTML 1.1尝试将不同的问题隔离到不同的模块中。模块化的方法便于针对不同需求重用标准的不同部分,也有利于扩展标准的新功能。
与HTML 4相比,XHTML 1.1的用户甚至更多,将内容与表现分离。但是和过去一样,一些实际问题只能通过CSS中的技术来解决。例如,无序列表表示的菜单结构通常包含漂亮的图片。但是,对于有视觉障碍的人来说,通过文本到语音转换功能阅读图像并不容易。而Lynx之类的文本浏览器无法显示图像。复杂的CSS技术可以隐藏浏览器中的文本显示图像。但是如果不同页面的菜单不一样,就很难用CSS指定这部分。XHTML 2背后的设计思想
XHTML 2背后最重要的设计思想是将内容和呈现进一步分离,改进HTML 4和XHTML 1遗留的缺陷。例如,为无序列表中的每一项指定图像的本机支持。原来的IMG SRC标记已经被替换为可选的属性SRC,它可以用于任何元素。修改后的CSS完全脱离了内容,不支持图像的设备反而可以轻松表达文字。
但是CSS并不是Web开发者面临的唯一挑战。很多时间花在服务器和HTML表单之间的交互上,并且有很多JavaScript代码。表单仅限于一维的键值对。开发JavaScript代码需要大量的工作,但在文本到语音转换设备等接口上却毫无用处。
基于模块化方法,XHTML 2用XForms模块代替了HTML表单,并通过使用适当的应用程序模型支持常见问题。XForms无需一行脚本就可以指定交互逻辑、验证规则和计算方法。此外,这种技术使用丰富的XML结构而不是键值对,允许出现嵌套的子表单和重复的元素。除了提供强大的引擎,文本到语音设备更适合改变应用程序的丰富性。
除了XForms,还有其他与XHTML相关的问题被提取出来作为独立的规范来满足其他需求——比如XML事件、XForms和Ruby(亚洲语言)。
随着表示的分离,编程也与标准分离。诸如onClick之类的交互式属性被XML事件模块所取代。因为XML Events规范本身就是为此目的而设计的,所以它提供了一组更强大的工具来处理用户界面。
总结XHTML 2的创新点,基本思路是分解不同的问题。问题不再是HTML的次要特性,而是新规范的主要目的。因此,新规范最适合优化所面临的问题。但是,区别对待不同的问题,是出于观念的需要,而不是实践的需要。熟悉这套工具的聪明的开发者可以得到想要的结果。但是,目前HTML版本的普通用户能否创建高质量的XHTML文档还很难说。
XHTML 2的目标很可能不是普通的HTML用户。但是在优秀的开发人员手中,它可以是增强可访问性的好方法。HTML 5的设计理念
WHATWG在设计HTML 5时采用了更现实的方法。在不考虑问题分解等抽象思想的情况下,这个工作组从当前主流浏览器的行为出发制定文档,与W3C规范完全不同。在上述分析的基础上,该工作组研究了HTML的实际应用。
根据这些信息,工作组提出了一个旨在简化一般Web开发人员工作的方案。虽然HTML 5声称源自上一个HTML版本,但其主要目标并不是纯粹。例如,模块化文档的主要目标是方便用优化的Web应用程序替换它们。
基于这一目的的模块化语言极大地简化了Web应用程序的开发。比如HTML 5支持数据表、菜单、工具栏等交互组件。使用具有默认行为的描述性HTML元素可以避免用大量代码模拟一般DIV的行为。
5 HTML规范不限于HTML元素和属性。它定义了专门的JavaScript API,比如编辑文档和拖放交互。这种方法与分解问题的方法大相径庭。它简化了Web开发人员的API,但增加了规范的规模。
HTML 5和HTML 4的相似度远远超过XHTML 2和XHTML 1。迁移路径更加顺畅,更方便有经验的HTML 4开发者熟悉新版本。新功能遵循类似的逻辑。特定元素的特殊事件属性允许HTML编辑器提供更合适的文本完成功能。
目前,Web应用程序和服务器之间的交互依赖于异步JavaScript XML (Ajax)。HTML认识到与服务器交互的重要性,并定义了多种方式来与网络交互,分发接收到的服务器事件,并从其他域向文档发送消息,而不会导致安全问题。
HTML 5的基本设计思想是用Web开发者需要的特性来扩展HTML 4。HTML 5继承了HTML 4的基础技术,并加以简化。为了解决HTML V4的缺点,HTML V5选择了最简单直接的方式进行重新设计。新标准的实际应用
XHTML V2和相关模块已经得到W3C的官方支持,相关模块也成为W3C支持其他XML规范的重要因素。遗憾的是,W3C的官方认可并不能保证主流Web浏览器的支持。支持一般的XHTML V2不成问题:现代浏览器已经支持许多功能。XHTML V2的正确使用取决于相关模块的可用性。在撰写本文时,尚不清楚微软是否会扩展Windows Internet Explorer以支持XML事件和XForms。包括XML事件在内的Mozilla XForms插件已经开发了好几年。这个插件完善了这项技术的功能,降低了实现的难度。
HTML V5规范的编写与浏览器厂商保持深入沟通,时刻考虑实现问题。虽然团队怀疑W3C的官方认可。FAQ甚至没有正式回答何时正式批准的问题。不管W3C的态度如何,浏览器厂商似乎已经决定实现非正式的HTML 5标准。浏览器厂商抢在官方标准发布之前,已经不是第一次了。竞争标准
到目前为止,HTML 5和XHTML 2都不是官方推荐的标准。一些微妙的地方,以后可能会改变。但是,它们的发展方向不会改变,并且都解决了当前标准的一些缺点。未来的浏览器将如何增加对这两个新标准的支持还有待观察。目前的浏览器同时支持HTML 4和XHTML 1。同样,未来的浏览器可能同时支持HTML 5和XHTML 2。这两种标准都有各自的支持者。
如果你更关心XHTML 1.1而不是HTML 4,并且想要创建可以支持不同设备的文档,你可能更喜欢XHTML 2。如果你喜欢HTML 5的新特性只是因为它符合XML标准,那么XHTML 5(用XML重写的HTML 5)可能是你最好的选择。
HTML 5很受使用HTML 4开发交互式Web应用程序的开发人员的欢迎。这种方法对于使用WYSIWYG文档编辑器的站点更可行。但要分析具体情况,HTML 4和XHTML 1很可能会长期共存。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。