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 严格模式的更改

本节介绍 XHTML 1.1 和 XHTML 1.0 严格模式之间的区别。XHTML 1.1 代表着与 HTML 4 和 XHTML 1.0 的背离。

  • 最显著的变化是删除了已弃用的功能。

  • 这些更改可以总结如下:

  • 在每个元素上,都已删除 lang 属性,并改为使用xml:lang 属性。

  • 在<a> 和 <map> 元素上,已删除 name 属性,并改为使用 id 属性。

  • 已添加ruby 元素集合。

广告
© . All rights reserved.