W3C已经帮助互联网内容开发社区从格式不正确,非标准化的时代转变为格式正确,有效的XML世界。在XHTML 1.0中,这一举措主要是为了将现有的基于HTML 4(或更早版本)的内容轻松迁移到XHTML和XML。
W3C已经从XHTML系列中删除对不推荐使用的元素和属性的支持。这些元素和属性大部分是面向表达式的功能,通过样式表或客户端特定的默认行为更好地处理。
现在,W3C的HTML工作组已经根据XHTML 1.1的模块定义了一个初始文档类型。此文档类型旨在便携式到广泛的客户端设备,并适用于大多数互联网内容。
XHTML 1.1提供了严格符合XHTML文档的定义,必须满足以下所有标准:
文档必须符合XHTML 1.1文档类型定义中表达的约束。
文档的根元素必须是<html>。
文档的根元素必须使用xmlns属性指定XHTML命名空间。
根元素也可以包含XML模式中定义的模式位置属性。
在根元素之前必须是文档中的DOCTYPE声明。如果存在,DOCTYPE声明中包含的公共标识必须引用XHTML 1.1文档类型定义中找到的DTD。
以下是XHTML 1.1文档的示例 -
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" xml:lang="en"> <head> <title>This is the document title</title> </head> <body> <p>Moved to <a href="http://example.org/">example.org</a>.</p> </body> </html>
注 - 在此示例中,包含XML声明。所有XML文档中都不需要上述XML声明。强烈建议XHTML文档作者在其所有文档中使用XML声明。当文档的字符编码不是默认的UTF-8或UTF-16时,需要这样的声明。
XHTML 1.1文档类型由以下XHTML模块组成。
结构模块 - 结构模块定义了XHTML的主要结构元素。这些元素有效地作为许多XHTML家族文档类型的内容模型的基础。该模块中包含的元素和属性是 - body,head,html和title。
文本模块 - 此模块定义了所有基本文本容器元素,属性及其内容模型 - abbr,首字母缩略词,地址,块引用,br,cite,code,dfn,div,em,h1,h2,h3,h4,h5 ,h6,kbd,p,pre,q,samp,span,strong和var。
超文本模块 - 超文本模块提供用于定义与其他资源的超文本链接的元素。该模块支持元素a。
列表模块 - 名称建议,列表模块提供了面向列表的元素。具体来说,列表模块支持以下元素和属性:dl,dt,dd,ol,ul和li。
对象模块 - 对象模块提供用于通用对象包含的元素。具体来说,对象模块支持 - 对象和参数。
演示模块 - 该模块为简单的演示相关标记b,big,hr,i,small,sub,sup和tt定义元素,属性和最小内容模型。
编辑模块 - 该模块定义了用于编辑相关标记del和ins的元素和属性。
双向文本模块 - 双向文本模块定义了一个元素,可以用于声明元素内容的双向规则 - bdo。
表单模块 - 它提供HTML 4.0中发现的所有表单功能。具体来说,它支持 - 按钮,字段集,表单,输入,标签,图例,选择,optgroup,选项和textarea。
表模块 - 它支持以下元素,属性和内容模型 - 标题,col,colgroup,table,tbody,td,tfoot,th,thead和tr。
图像模块 - 它提供基本的图像嵌入,可以独立用于客户端图像映射的一些实现。它支持元素 - img。
客户端图像映射模块 - 它为客户端图像映射提供元素 - 区域和地图。
服务器端图像映射模块 - 支持图像选择和选择坐标传输。服务器端图像映射模块支持 - img上的属性ismap。
内部事件模块 - 它支持XHTML事件中探讨的所有事件。
元信息模块 - 元信息模块定义描述文档声明部分内的信息的元素。它包括元素元。
脚本模块 - 它定义了用于包含有关可执行脚本的信息或缺少对可执行脚本的支持的元素。该模块中包含的元素和属性是 - noscript和脚本。
样式表模块 - 定义了在声明内部样式表时要使用的元素。该模块定义的元素和属性是 - 样式。
样式属性模块(不推荐使用) - 定义样式属性。
链接模块 - 它定义了一个可用于定义到外部资源链接的元素。它支持链接元素。
基本模块 - 它定义了一个可用于定义基本URI的元素,为此文档中的相对URI被解析。该模块中包含的元素和属性是 - base。
Ruby注释模块 - XHTML还使用RUBY中定义的Ruby注释模块,并支持 - ruby,rbc,rtc,rb,rt和rp。
本节介绍XHTML 1.1和XHTML 1.0 Strict之间的区别。XHTML 1.1代表了与HTML 4和XHTML 1.0的偏离。
最重要的是删除不推荐使用的功能。
变化可归纳如下:
在每个元素上,lang属性已被删除,有利于xml:lang属性。
在<a>和<map>元素上,name属性已被删除,有利于id属性。
元素的红宝石集合已添加。