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>W3Cschool-这是一个文档标题</title>
</head>
<body>
<p>跳转到 <a href="https://www.w3cschool.cn/">W3Cschool</a>。</p>
</body>
</html>
注 - 在这个例子中,包含了XML声明。所有XML文档中都不需要XML声明,如上所述。强烈建议XHTML文档作者在其所有文档中使用XML声明。如果文档的字符编码不是默认的UTF-8或UTF-16,则需要此类声明。
XHTML 1.1模块
XHTML 1.1文档类型由以下XHTML模块组成。
- 结构模块 - 结构模块定义了XHTML的主要结构元素。这些元素有效地作为许多XHTML家族文档类型的内容模型的基础。包含在这个模块中的元素和属性是 - body,head,html和title。
- 文本模块 - 这个模块定义了所有的基本文本容器元素,属性及其内容模型 - 缩写,缩写,地址,块引用,引用,代码,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。
- 表模块 - 支持以下元素,属性和内容模型 - 标题,列,colgroup,表,tbody,td,tfoot,th,thead和tr。
- 图像模块 - 它提供了基本的图像嵌入功能,可以在客户端图像地图的一些实现中独立使用。它支持元素 - img。
- 客户端图像映射模块 - 为客户端图像映射提供元素 - 区域和地图。
- 服务器端图像映射模块 - 提供图像选择和选择坐标传输的支持。服务器端图像映射模块支持img上的属性ismap。
- 内部事件模块 - 它支持在XHTML事件中讨论的所有事件。
- 元信息模块 - 元信息模块定义了描述文档声明部分信息的元素。它包括元素元。
- 脚本模块 - 它定义了用于包含与可执行脚本有关的信息的元素,或者缺少对可执行脚本的支持。包含在这个模块中的元素和属性是 - 脚本和脚本。
- 样式表模块 - 它定义了在声明内部样式表时使用的元素。这个模块定义的元素和属性是 - style。
- 样式属性模块(已弃用) - 定义样式属性。
- 链接模块 - 它定义了一个可用于定义到外部资源的链接的元素。它支持链接元素。
- 基本模块 - 它定义了一个元素,可以用来定义一个基本的URI,文档中的相对URI被解析。包含在这个模块中的元素和属性是 - base。
- Ruby Annotation Module - XHTML也使用Ruby中定义的Ruby Annotation模块,支持ruby,rbc,rtc,rb,rt和rp。
XHTML 1.0 Strict的变化
本节介绍XHTML 1.1和XHTML 1.0 Strict之间的区别。XHTML 1.1代表了HTML 4和XHTML 1.0的背离。
- 最重要的是删除已弃用的功能。
- 这些变化可以总结如下 -
- 在每个元素上,lang属性已经被移除,以支持xml:lang属性。
- 在<a>和<map>元素上,名称属性已被删除,以支持id属性。
- 元素的红宝石集合已被添加。