XHTML - 版本 1.1


W3C 帮助互联网内容开发社区从畸形的、非标准的标记时代进入了格式良好、有效的 XML 世界。在 XHTML 1.0 中,这一举措的目标是将现有的基于 HTML 4(或更早版本)的内容轻松迁移到 XHTML 和 XML。

W3C 已删除对 XHTML 系列中已弃用的元素和属性的支持。这些元素和属性主要具有面向表示的功能,可以通过样式表或特定于客户端的默认Behave更好地处理这些功能。

现在,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 1.1 文档类型由以下 XHTML 模块组成。

结构模块- 结构模块定义了 XHTML 的主要结构元素。这些元素有效地充当了许多 XHTML 系列文档类型的内容模型的基础。该模块中包含的元素和属性是 - body、head、html 和 title。

文本模块- 该模块定义了所有基本文本容器元素、属性及其内容模型 - 缩写、首字母缩略词、地址、块引用、br、引用、代码、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、选项和文本区域。

表模块- 它支持以下元素、属性和内容模型 - title、col、colgroup、table、tbody、td、tfoot、th、thead 和 tr。

图像模块- 它提供基本的图像嵌入,可以独立地在客户端图像映射的某些实现中使用。它支持元素 - img。

客户端图像地图模块- 它提供客户端图像地图元素 - 区域和地图。

服务器端图像映射模块- 它提供对图像选择和选择坐标传输的支持。服务器端图像映射模块支持 - img 上的 ismap 属性。

内在事件模块- 它支持 XHTML 事件中讨论的所有事件。

元信息模块- 元信息模块定义了描述文档声明部分中的信息的元素。它包括元素元。

脚本模块- 它定义用于包含与可执行脚本有关的信息或缺乏对可执行脚本的支持的元素。该模块中包含的元素和属性是 - noscript 和 script。

样式表模块- 它定义声明内部样式表时要使用的元素。该模块定义的元素和属性是 - style。

样式属性模块(已弃用) - 它定义样式属性。

链接模块- 它定义了一个可用于定义到外部资源的链接的元素。它支持链接元素。

基本模块- 它定义了一个元素,可用于定义基本 URI,根据该基本 URI 解析文档中的相对 URI。该模块中包含的元素和属性是 - base

Ruby 注释模块- XHTML 还使用 RUBY 中定义的 Ruby 注释模块,并支持 - ruby​​、rbc、rtc、rb、rt 和 rp。

相对于 XHTML 1.0 严格的更改

本节介绍 XHTML 1.1 和 XHTML 1.0 Strict 之间的差异。XHTML 1.1 代表了对 HTML 4 和 XHTML 1.0 的背离。

  • 最重要的是删除了已弃用的功能。

  • 这些变化可总结如下:

  • 在每个元素上,lang 属性已被删除,取而代之的是xml:lang属性。

  • 在 <a> 和 <map> 元素上,名称属性已被删除,取而代之的是 id 属性。

  • 添加了ruby​​ 元素集合。