通过本文主要向大家介绍了XHTML 1.0:标记新的开端等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
新标准的熟悉和入门 内容: 还在用 HTML 编写文档?如果是的话,就不符合当前标准了。2000 年 1 月 26 日,XHTML 1.0 成为万维网联盟(W3C) 的建议。根据 W3C,HTML 不再是 Web 标记标准。取而代之,XHTML 1.0 已替代旧宠儿,标志着通信技术令人兴奋的新时代已经来临。
那么,XHTML 1.0 到底是什么?对 Web 开发人员来说,它意味着什么?下面从 W3C 的描述讲起:XHTML 1.0 是 XML 应用程序的 HTML 再形成。这意味着,如果用 XHTML 1.0 编制文档,则将 XML 固有的规则和概念应用到 Web 标记。很自然,还有个摇摆的问题:现在可以用 XHTML 1.0 标记 Web 文档吗?答案很明确:“是的”。所要做的全部只是学会正确组织文档结构,选择所需的正确文档类型定义 (DTD),以及学会几种管理代码开发的新方法。
但是,XHTML 1.0 怎么会如此轻易上手呢?在编写文档时,您将看到,它使用您所熟悉的 HTML 作为其词汇。在方法上有较小的变化,而在思路上有主要的不同,XHTML 1.0 允许 Web 作者依据标准进行编码,并开始改变有关未来发展和更改的
观点。
为什么需要另一种标记语言?
HTML 使用起来相当好。确实,我们一直受到提出确实管用的跨浏览器、跨平台解决方案的挑战。但是,在 Web 从 90 年代的早期形式发展到今天我们所知的充满活力的活动 Web 的过程中,也意味着在前进途中消耗、破坏甚至制造了新的HTML 规则。
学过 HTML 4.0 准则的开发人员都知道,在 HTML 4.0 标准出现时,已经确定了改进 HTML 准则的最终目标。HTML 4.0 的一些主要考虑包括:
通过将基本格式化与样式分离,来整理文档反对使用随心所欲或有问题的元素
要求声明文档类型(并希望在声明中,作者遵循 HTML 4.0 的三个 DTD 中的规则)
这些原则都在 XHTML 1.0 中存在,但是它们与 XML 中的概念组合在一起,这些概念帮助改进标记超出只加强其基本语法的作用。XHTML 1.0 的目标很多,但是,包括以下几个:
提供 Web 标记中可扩展性的基础
通过过去、现在和将来的浏览器,提供相同或更好的互操作性
通过即将来临的 XHTML 版本、其它 XML 应用和刚刚出现的技术(如无线和新型设备开发),使作者为不断发展的机遇作好准备。采用 XHTML 1.0 最有说服力的理由恐怕是:开发人员(特别是通过 HTML 自学、或依靠可视设计工具来实现其目标的开发人员)可以通过学习该标准,来轻易地移至其它 XML 应用。然后,他们就可以看到 XML 和可扩展性的力量。因为过程相似:即 HTML 词汇加上一些新的结构和语法方法,所以,XHTML 1.0 使 XML 及其应用的领域不再令人畏惧。
通过使用熟悉的语言和一些新的概念,很容易转入不太熟悉的领域。例如,XHTML 1.0 的知识可以简化转移到即将出现的XHTML 版本以及无线和其它应用的相关 XML 技术的过程(如 WML(无线标记语言)、SMIL(同步多媒体语言)和 SVG(可伸缩矢量图形))。
探询根源
探询 XHTML 根源有助于理解 XHTML 的基本原理及指引它的规则。
XML 和 HTML 的根源相同,都是 SGML,即标准通用标记语言 (Standardized General Markup Language)。有一点很重要:SGML 本身不是一门语言。它是人们所知的元语言 -- 即包含开发其它语言所依据规则的语言。
XML 与其根源 SGML 一样,也是元语言。正如这样,其规则用于创建 XML 应用。而 XHTML 是将另一门 SGML 语言,HTML,用作其词汇的 XML 应用。
如果关系看起来有些复杂,那是因为它确实有些复杂。SGML 首先产生 HTML,然后是 XML。当觉察到 HTML 的担心和限制时,XML 规则就很明显地可以使 HTML 成长为帮助开发人员脱离这些限制的标记语言。
首先,需求
为了使 XHTML 1.0 文档符合其元语言 (XML),必须考虑几个需求和规则。如下所示:
建议、但不要求使用 XML 声明将 XHTML 1.0 文档声明成 XML 文档。
要求 XHTML 1.0 文档包含一个 DOCTYPE,指明这是 XHTML 1.0 文档,并指出该文档所用的 DTD。
XHTML 1.0 文档有一个根元素 <html>。该 HTML 元素的开始标记应该包含 XML 名称空间 xmlns 和该名称空间的合适值。
文档的语法和结构必须符合 XHTML 语法规则。
实现该目标的第一步是正确组织 XHTML 1.0 文档的结构。将从添加正确的声明和文档信息开始。
文档声明、类型和名称空间
XHTML 1.0 文档可以包含几个结构元素,以便被认为是正确的:一个 XML 声明、一个 DOCTYPE 声明,并包括名称空间。
XML 声明允许作者将其文档声明成 XML,并包括文档所用的编码。
<?xml version="1.0" encoding="UTF-8"?>
如前面提到的,建议使用此声明,但这不是必需的。不强制使用的部分原因是:如果使用,则某些浏览器(包括 IE 4.5for Mac 和 Netscape 4.0 for Windows)将显示不正确的 XHTML 页面。因此,大多数对互操作性感兴趣的 XHTML 1.0 作者不使用它。但是,因为编码信息在很多情况下很重要(特别在使用国际化文档时),所以,如果不使用 XML 声明,则鼓励在 meta 标记中添加编码信息(在后面的清单 2 中显示)。
在 XML 文档声明的下面 - 如果选择不使用它,则位于文档顶部 - 必须放置 DOCTYPE 声明。DOCTYPE 允许作者声明所用的文档类型。在本例中,文档类型是 XHTML 1.0,该文档要符合的特定 XHTML 1.0 DTD 为 strict。
XHTML 1.0 中只有三种 DTD。它们来自 HTML 4.0,其内容如下:
Strict:Strict 遵循最严格的 XHTML 规则。在以该类型编写的文档中,只允许出现当前元素、属性和字符实体。不允许出现 HTML 4.0 所反对的元素(如 font 或 center)。也不允许过时的元素。Strict 声明如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1- strict.dtd">
Transitional:transitional XHTML 1.0 文档更宽容一些,它允许作者使用所反对的和当前的方法。可以在transitional 文档中使用 font 或 center,或任何其它所反对的标记,只要文档本身标记正确即可。不应该使用过时的元素。如果在用 XHTML 1.0 编写 transitional 文档,将包括以下声明:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1- transitional.dtd">
Frameset: frameset DTD 只为 frameset 文档保留。符合该 DTD 的 frameset 文档可以使用 strict 或 transitional标记。要以 XHTML 1.0 创建 frameset 文档,在文档顶部包括这个 DOCTYPE:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
确定了是否使用 XML 声明,并且添加了定义要遵循的标记规则的 DOCTYPE 声明之后,需要将 HTML 根添加到文档,并相应设置 XHTML 名称空间:
<html xmlns="http://www.w3.org/1999/xhtml">
此时,要添加一些必需的结构元素,如 head、title 和 body。清单 1 显示包括 XML 声明的 XHTML 1.0 transitional文档外壳。在清单 2 中,将看到不带 XML 声明的 transitional 文档,但是,有一个 meta 标记来声明所用字符集。
清单 1:带有 XML 声明的 Transitional DTD 格式的 XHTML 1.0 文档
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Transitional Document with&n