XHTML - 版本 1.1

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

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

文本模块 − 此模块定义所有基本文本容器元素、属性及其内容模型 − abbr、acronym、address、blockquote、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。

对象模块 − 对象模块提供用于通用对象包含的元素。具体来说,对象模块支持 − object 和 param。

演示模块 − 此模块定义元素、属性和用于简单演示相关标记的最小内容模型 − b、big、hr、i、small、sub、sup 和 tt。

编辑模块 −此模块定义用于编辑相关标记 − del 和 ins 的元素和属性。

双向文本模块 − 双向文本模块定义可用于声明元素内容 − bdo 的双向规则的元素。

表单模块 − 它提供 HTML 4.0 中的所有表单功能。具体来说,它支持 − button、fieldset、form、input、label、legend、select、optgroup、option 和 textarea。

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

图像模块 −它提供基本的图像嵌入,并且可以独立用于客户端图像映射的某些实现。它支持元素 − img。

客户端图像映射模块 − 它为客户端图像映射 − area 和 map 提供元素。

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

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

元信息模块 − 元信息模块定义一个元素,用于描述文档声明部分内的信息。它包括元素 meta。

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

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

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

链接模块 − 它定义可用于定义指向外部资源的链接的元素。它支持 link 元素。

基础模块 − 它定义可用于定义基础 URI 的元素,文档中的相对 URI 将根据该基础 URI 进行解析。此模块中包含的元素和属性是 − base

Ruby 注释模块 − XHTML 还使用 RUBY 中定义的 Ruby 注释模块,并支持 − 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> 元素上,name 属性已被删除,取而代之的是 id 属性。

  • 已添加 ruby 元素集合。