转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> 网页制作 >> 正文
XHTML 1.0:标记新的开端         ★★★★

XHTML 1.0:标记新的开端

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1514 更新时间:2009/4/23 14:09:50

新标准的熟悉和入门

内容: 还在用 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 XML Declaration</title> 
</head> 
<body> 
</body>
</html> 
在清单 2 中,将看到不带 XML 声明的 transitional 文档,但是,有一个 meta 标记来声明所用字符集。

清单 2:不带 XML 声明的 Transitional DTD 格式的 XHTML 1.0 文档 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.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 without XML Declaration</title> 
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> 
</head> 
<body> 
</body> 
</html>

语法事项 
一旦 XHTML 文档包含必需的声明和结构信息,就可以检查由 XML 在 Web 标记上的影响而导致的语法更改。这些语法更改包括是否区分大小写、正确格式的标记元素、空和非空元素,以及引号的使用。

大小写 
如您所知,HTML 不区分大小写。这意味着,HTML 元素和属性名称可以是大写、小写或大小写混合的。因此,可以写成:
<body background="my.gif">

<BODY BACKGROUND="my.gif">
甚至
<BoDy background="my.gif">
所有这些示例的功能相同。另一方面,XML 却是区分大小写的。因此,XHTML 要求有特定的大小写。在 XHTML 1.0 中,所有元素和属性名称必须是小写的:
<body background="my.gif">
除元素和属性名称之外,其它不必遵循 XHTML 1.0。请注意,属性值(例如 "my.gif")可以是大小写混合的。如果文件所在服务器的文件系统是区分大小写的,或者在应用中使用大小写混合的代码(例如那些用 Microsoft 的活动服务器页面 (ASP)、ASP+ 或 ColdFusion 编写的代码),则尤其如此。

良好的格式 
虽然很多 HTML 浏览器很宽容,但是,很多 HTML 工具不符合标准。就这样,某些作者养成了坏习惯,如不正确的标记嵌套。下例在很多浏览器中可以使用:
<b><i>Welcome to MySite.Com</b></i>
在宽容的浏览器中,它将显示粗体和斜体。但是,如果拿起笔来,从粗体的开始标记到其结束标记画一个弧,然后,再从斜体的开始标记到其结束标记画一个弧,将看到,两条弧线相交。这展示了不正确的标记嵌套,我们认为,这是坏格式。

在 XHTML 1.0 中,不接受这样的坏格式标记。必须在“每个元素必须正确嵌套”方面符合良好格式的概念。前面示例用XHTML 1.0 表示为:
<b><i>Welcome to MySite.Com</i></b>
现在,再画弧,将看到,弧线不再相交。这些标记以正确顺序放置,并被认为是正确的格式。

非空和空元素 
非空元素包含一个元素和一些内容:
<p>This is the content within a non-empty element.</p>
相反,空元素没有内容,只有元素及其属性,如 <hr> 和 <img>。

XML 规则指出,空元素和非空元素必须完全关闭。在 HTML 中,可以看到非空元素通常有一些可选的结束标记。上段可以这样写:
<p>This is the content within a non-empty element.
在 HTML 中,认为这是正确的。XHTML 1.0 要求,非空元素要完全关闭。另一个例子是 <li>(列表项)元素。在 HTML中,可以写成:
<li>The first item in my list.
<li>The second item in my list.

<li>The first item in my list. </li>
<li>The second item in my list. </li>
在 XHTML 1.0 中,只允许后一种方法。

在 XML 中,用斜杠终止空元素。因此,变成 <br/>。由于某些习惯于解释 HTML 的浏览器在使用该方法时有问题,所以,引入了替代方法,即在斜杠之前添加一个空格:<br />。

这是一个图像元素的 XHTML 示例,它是空元素:
<img src="my.gif" height="55" width="25" border="0" alt="picture of me" />
其它要注意的空元素是 meta 和 link。

引号 
HTML 中的引号是任意的,即,可以在属性值前后使用引号,也可以不使用,并且不会导致太多麻烦。没有规则说:不用引号将值括起为非法。下例在 HTML 中完全可接受:
<table border=0 width="90%" cellpadding=10 cellspacing="10">
尽管有些属性值用引号括起,有些没有,但浏览器将正确显示该标记。但是,如果要遵循 XHTML 1.0,则必须将所有属性值用引号括起。
<table border="0" width="90" cellpadding="10" cellspacing="10">
如您可见,这些更改都不大。还有点儿烦,是的,但是,一旦开始使用这种方法,将会发现,这种标记要方便得多。一致
性是使 XHTML 1.0 如此吸引人的原因之一 -- 它提供了构建未来结构的坚实基础。

XHTML 的未来 
既然 XHTML 如此易用,为什么这么长时间才被采用呢?这是很多关心标准的人在问的问题。该问题的部分原

[1] [2]  下一页


[常用软件]Firefox 1.0 全方位试用  [常用软件]完全免费的国产语音ICQ软件----V2 Communicator 1…
[Delphi程序]代码创建形式规范 1.0 (for delphi)  [Delphi程序]代码创建形式规范  1.0 (for Delphi)
[网页制作]Web标准学习:Xhtml标准中弹出新窗口  [网页制作]网页标准学习:XHTML+CSS调用样式表
[网页制作]与HTML相比XHTML有什么特点  [网页制作]在Dreamweaver中使页符合XHTML
[Web开发]学习网页制作用HTML还是用XHTML?  [Web开发]使用Web标准建站第6天:XHTML代码规范
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台