`

XHTML 简史及XHTML V2 背后的设计理念

阅读更多
XHTML 简史

理解 XHTML V2 背后隐藏的设计理念需要了解一点历史。20 世纪 90 年代初,第一个 HTML 版本是基于标准通用标记语言(SGML)的。主要的区别在于超链接特性 — 万维网的关键基础和成功因素。和 SGML 一样,HTML 允许作者描述文档的结构,把头部和段落、有序列表、无序列表分开。在屏幕上的显示结果和浏览器有关。

随着 Web 日渐普及,HTML 用户要求控制页面的观感。浏览器厂商在 HTML V2 和 V3 中推出了新的特性。网页变得难以理解,复杂的嵌套表结构成为控制页面布局的主要手段。文档的其余部分则充斥着 font 标记和 color 声明。原来的文档结构已经难以理清。

HTML V4 的出现就是为了结束这种混乱,它将表示逻辑推给了 CSS,为高级的内容定位引入了层(DIV)。和 HTML V3 相比这意味着代码编写模式上的变化。为了简化迁移的过程,通过 HTML V4 的 Transitional 版本来支持旧的 HTML V3 结构。适用于高级用户的 Strict 版本则要求将内容和表示彻底分开。

第一个 HTML V4 网站把 DIV 当作新的圣杯一样使用,页面中几乎每个需要略加修饰的元素都用上,包括(但不限于)头部。HTML style 属性是常见的描述表示细节的地方。最终从网页中消灭了泛滥成灾的表格。但内容和表示逻辑仍然混在一起。必不可少的 CSS 文件只有寥寥数行。

最近,一些知名的 Web 开发人员为 HTML V4 样式表提出了一种更巧妙的办法。在现代浏览器中,CSS 属性并没有局限于 DIV 元素。只要愿意可以为任何 HTML 元素指定样式。很多 weblog 开始谈论语义 HTML。没有完全禁止 DIV 元素,但是网页编写者开始使用最适合描述其内容的 HTML 元素。比方说,多数网站的导航菜单最好用无序列表来描述。再比如,不对段落元素使用 bigHeader 这样的类名,而改为 H1 元素,然后用 CSS 根据要求修改表示形式。

同时,W3C 提出 XHTML V1 作为符合结构良好而有效的 HTML V4 的 XML 版本。对于 XML 用户来说,这样做简化了将 XML 内容转化成网页并用已有验证程序检查转换结果的工作。XHTML V1.1 尝试将不同的问题隔离到不同的模块中。模块化方法便于针对不同的需要重用标准的不同部分,也有利于用新的功能扩展标准。

和 HTML V4 相比,XHTML V1.1 的用户甚至更多,把内容和表示分离开。但是和过去一样,一些实际问题只能使用 CSS 中技巧来解决。比如,无序列表表示的菜单结构通常包括漂亮的图片。但是,图像不大容易通过文本-语音设施读给有视觉障碍的人听。而且 Lynx 这样的文本浏览器也不能显示图像。一个复杂的 CSS 技巧可以在浏览器中隐藏文本显示图像。但是如果不同页面上的菜单不同,就很难用 CSS 指定这部分内容了。

XHTML V2 背后的设计理念

XHTML V2 背后最重要的设计理念是进一步分离内容和表示,改进 HTML V4 和 XHTML V1 残留的瑕疵。比如,为无序列表中的每项指定图像的原生支持。原来的 IMG SRC 标记换成了可用于任何元素的可选属性 SRC。修改后的 CSS 完全脱离了内容,不支持图像的设备很容易转而表示文本。

但 CSS 不是 Web 开发人员的惟一挑战。大量的时间用于服务器和 HTML 表单的交互以及存在大量 JavaScript™ 代码。表单仅限于一维的键值对。开发 JavaScript 代码工作量很大,但是在文本-语音转换设备这样的接口上毫无用处。

基于模块化的方法,XHTML V2 用 XForms 模块替换了 HTML Forms,使用适当的应用程序模型增加了对常见问题的支持。XForms 不需要一行脚本就能指定交互逻辑、验证规则和计算方法。此外,这种技术采用了丰富的 XML 结构而不是键值对,允许出现嵌套的子表单和重复的元素。除了提供一个强大的引擎外,文本-语音设备更适合改变应用程序的丰富性。

除了 XForms,还有其他一些 XHTML 有关的问题抽取为独立的规范满足其他需要 — 比如 XML Events、XFrames 和 Ruby(亚洲语言)。

随着表示的分离,编程也从标准中分离出来。onClick 之类的交互属性被 XML Events 模块代替。由于 XML Events 规范本身就是为此而设计的,它提供了一组更强大的工具来处理用户接口。

对于 XHTML V2 的创新,总结而言其基本理念就是分解不同的问题。问题不再是 HTML 的次要特性,而成为新规范的主要目的。因此,新规范最适合优化面临的问题。不过,区别对待不同的问题是出于理念而不是实践的需要。熟悉使用这套工具的聪明的开发人员可以得到需要的结果。但是当前 HTML 版本的一般用户能否创建高质量的 XHTML 文档并不好说。

XHTML V2 的目标很可能不是一般 HTML 用户。但是在好的开发人员手中,可以作为增强可访问性的不错的方法。
分享到:
评论

相关推荐

    精通XHTML程序设计高级教程

    模块化思想支持网络发展的趋势和后PC时代的需求,能够定义新模块以扩展XHTML及子集XHTML,从而适应不断变化的网络环境和新设备、新应用。 XHTML文档示例中,通过声明了文档的XML版本和编码方式。文档类型定义...

    XHTML+移动概要+(XHTML+MP)-WAP+2[1].0+教程.chm

    XHTML MP (XHTML Mobile Profile) 是 WAP 2.0 标记语言. XHTML MP 是 XHTML 的子集, HTML 和 XML 的结合. 本 XHTML MP 教程从对 XHTML MP 的介绍和各种标记语言, 如 WML, XHTML, XHTML Basic 和 XHTML MP, 之间的...

    xhtml

    ### XHTML详解:从基础知识到实践应用 #### 一、XHTML概述与重要性 XHTML,全称为可扩展超文本标记语言(eXtensible HyperText Markup Language),是一种基于XML的标记语言,旨在提高HTML的严谨性和兼容性。相较...

    推荐xhtml教程源码

    **XHTML教程源码解析** XHTML,全称为Extensible HyperText Markup Language,是一种结合了HTML(超文本标记语言)和XML(可扩展标记语言)特性的语言。它继承了HTML的易读性和XML的严谨性,使得网页设计更加规范且...

    poi处理docx的XHTML和Converter最新版jar1.06

    6. **org.apache.poi.xwpf.converter.xhtml-1.0.6.jar**:这个库是专门为将XWPF文档转换为XHTML格式而设计的。它使用了前面提到的核心组件,并添加了具体的方法和逻辑来完成从DOCX到XHTML的转换工作,包括处理段落、...

    网页设计XHTML

    在这个项目中,开发者可能会用到诸如表格布局、浮动元素、定位、响应式设计等CSS技巧,以及XHTML的语义化标签,如`<header>`, `<nav>`, `<section>`, `<article>`, `<footer>`等,来提升网页的结构和可读性。...

    XHTML.rar_ xhtml mp_xhtml_xhtml mp

    在移动领域,XHTML MP(Mobile Profile)是专为无线应用协议(WAP)2.0设计的一种版本,它允许开发者构建高质量、互动性强的移动互联网应用。 XHTML MP的核心目标是提供与桌面互联网体验相似的功能,但考虑到移动...

    XHTML/CSS总结(示例)

    XHTML (Extensible HyperText Markup Language) 和 CSS (Cascading Style Sheets) 是网页设计和开发中的基础技术,用于创建结构化和呈现丰富的网页。这个压缩包文件包含了一系列的资源,帮助我们深入理解XHTML和CSS...

    XHTML教程 W3C school 官方文档

    XHTML作为一种混合语言,其设计目标是使网页更结构化、更易于解析,并且能够更好地与XML应用程序进行交互。 ### XHTML是一个W3C标准 XHTML是由World Wide Web Consortium(W3C)制定并推荐的一种开放标准。这意味...

    XHTML语言基础语法知识

    ### XHTML语言基础语法知识 #### 一、XHTML概述 XHTML(可扩展超文本标记语言)是由W3C组织提出的一种更为严格、规范的HTML版本。随着互联网的发展和技术的进步,原有的HTML面临着诸多问题,例如代码冗余、不规范...

    如何将html转换成XHTML

    例如,W3C提供的XHTML Validator可以检查文档是否符合XHTML标准,并指出不符合规范的地方。此外,还有Dave Raggett的HTML Tidy工具,它可以清理HTML代码,使其更易于阅读,并帮助识别可能影响残障人士访问的问题。 ...

    设计XHTML MP 内容

    设计XHTML MP内容,意味着我们需要关注如何创建适应移动设备显示的、结构良好且功能丰富的网页内容。 XHTML MP是在WAP(无线应用协议)框架下定义的,WAP是一种让移动设备通过无线网络访问互联网服务的技术标准。...

    XHTML系列语言网页设计

    网页设计基础,专门针对网页设计初学者掌握XHTML

    ( xhtml1-strict.dtd

    ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ( xhtml1-strict.dtd ...

    XHTML 的一些实例精解

    在这个“XHTML的实例精解”中,我们将深入探讨XHTML的基本概念、语法规范以及一些实用的实例。 首先,XHTML的基础知识包括元素、属性和标签。元素是XHTML文档的构建块,它们通常由开始标签和结束标签组成,如`<p>`...

    XHTML2.0规范

    4. **模块化**:XHTML2.0采用了模块化的设计思路,允许用户根据自己的需求选择合适的基本模块进行组合使用,从而构建出更加个性化的文档结构。 5. **向后兼容性**:尽管XHTML2.0进行了大量的改进与创新,但它仍然...

    XHTML语言详解!!

    WAP是一种为无线设备设计的应用环境和通信协议集合,旨在使移动设备能够访问互联网及高级电话服务。WAP论坛(现为Open Mobile Alliance)于1997年夏天成立,并于1998年发布了WAP 1.0标准。该标准定义了一种开放的...

    李炎恢XHTML项目源码8个

    李炎恢老师是知名的IT教育专家,他的课程常常涉及到网页设计与开发的基础知识,如XHTML、CSS等,这些技能对于初学者和专业开发者都是必不可少的。 1. **XHTML基本概念**:XHTML是一种改良版的HTML,它要求所有标签...

    不要错过XHTML经典教程

    XHTML的规范化和严谨性提高了代码质量,有利于搜索引擎优化(SEO),并促进了无障碍网页设计。由于XML的严格性,XHTML有助于确保网页在不同的设备和浏览器上的一致渲染,包括移动设备和屏幕阅读器。 **XHTML的学习...

    Python-xhtml2pdfHTMLCSS转PDF工具

    使用`xhtml2pdf`需要先安装库,通过命令`pip install xhtml2pdf`即可。然后,可以创建一个Python脚本,使用`pisa`模块来转换HTML。例如: ```python from xhtml2pdf import pisa def html_to_pdf(input_html, ...

Global site tag (gtag.js) - Google Analytics