
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
这样,文档就有了一个表示行的实际对象,同样,段(p)标记表示一段内容。
为什么所有这些都很重要呢?因为 Web 不仅正日益成为人与人之间通信的场所,而且还日益成为软件应用程序(如服务器和搜索引擎索引器)之间进行通信的场所。而且,每个人(或者说几乎每个人)都使用相同浏览器的时代已经一去不复返了。开发人员正不断为不同设备(如 PDA 和移动电话)重新设计内容。语音触发的(voice-activated)系统已经离我们不远了。内容的结构意义正变得几乎与内容本身一样重要。
节
因此,XHTML 2.0 添加了节(section)和标题(heading)。HTML 一直都包含编号的标题 — h1 到 h6,直到 2002 年 8 月 5 日的工作草案,还未将其撤消,但这只是一个时间问题。而 XHTML 2.0 使用通用标题和节。例如,可以嵌套节,从而赋予标题含义。以前用编号标题呈现的文档(清单 2):
清单 2. 文档中的编号标题
<html>
<head><title>Adding sections</title></head>
<body>
<h1>The Web's future: XHTML 2.0</h1>
<p>by Nicholas Chase</p>
<h2>Good-bye backward compatibility, hello structure</h2>
<p>Why backward compatibility is over.</p>
<h3>Presentation versus Structure</h3>
<p>Using style sheets rather than presentational elements.</p>
<h3>Lines</h3>
<p>Line breaks are deprecated.</p>
<h2>Sections</h2>
<p>Creating more reasonable sections.</p>
<h2>Navigation lists and menus</h2>
<p>Hierarchical menus.</p>
<h2>Links, links, everywhere</h2>
<p>Adding links.</p>
</body>
</html>
可以用通用标题和节替换(清单 3):
清单 3. 通用标题和节
<html>
<head><title>Adding sections</title></head>
<body>
<section>
<h>The Web's future: XHTML 2.0</h>
<p>by Nicholas Chase</p>
<section>
<h>Good-bye backward compatibility, hello structure</h>
<p>Why backward compatibility is over.</p>
<section>
<h>Presentation vs. Structure</h>
<p>Using style sheets rather than presentational elements.</p>
</section>
<section>
<h>Lines</h>
<p>Line breaks are deprecated.</p>
</section>
</section>
<section>
<h>Sections</h>
<p>Creating more reasonable sections.</p>
</section>
<section>
<h>Navigation lists and menus</h>
<p>Hierarchical menus.</p>
</section>
<section>
<h>Links, links, everywhere</h>
<p>Adding links.</p>
</section>
</section>
</body>
</html>
这种结构有两个优点。首先,应用程序(如搜索引擎 crawler)能够更容易地了解内容的相对重要性,其次,节是自包含的。在 HTML 中,节以其标题开始,所以在标题的前面不会出现内容(如介绍性内容)。section 元素取消了这种约束,因为其内部的任何内容都是节的一部分。
导航列表和菜单
增加了一个会让 Web 开发人员大大受益的结构,那就是导航列表。由 nl 标记指定的导航列表的工作原理与其“表亲”有序列表(ol)和无序列表(ul)非常相似,但有一点不一样:导航列表的项仅在列表激活时才出现。因此,导航列表与层次结构的弹出菜单十分相似,这种弹出菜单很受欢迎,因为它们提供了许多导航信息,而且不会占据太多的屏幕空间。例如,肥皂剧站点可能有以下菜单(清单 4):
清单 4. 使用导航列表
<nl>
<name>Character Options</name>
<li href="stay.html">Stay</li>
<nl>
<name>Leave</name>
<li href="newjob.html">Job transfer</li>
<li href="divorce.html">Divorce</li>
<li href="fataldisease.html">Fatal disease</li>
</nl>
<li href="backburner.html">Back Burner</li>
</nl>
当用户激活名称(Character Options)时,出现列表项。关于当用户激活主列表时子列表(如 Leave 菜单)是否会出现,还是用户必须激活子列表项本身以使其出现,工作草案并未说清楚。最终作者可能通过样式或事件来控制这一行为。在任何情况下,当输入焦点从主元素移开时,列表项就会消失。
链接,链接无处不在
您可能已经注意到:即使打算将前一个示例作为菜单,但它没有锚(a)标记。而 href 属性已经被正确放在了 li 元素上。这不是导航列表的特性,而是 XHTML 2.0 的新特性。与超文本相关的属性(如 href、target 和 accesskey)现在是公共属性集合(Common Attribute Collection)的一部分,它包括核心属性(class、id 和 title)、国际化属性(xml:lang,它替换了 XHTML 1.1 中的 lang)和事件属性,事件属性来自 XML Events 建议书,正如您将在下面看到的。
这意味只要将 href 属性添加到任何元素,就可以将它转换成链接,而不一定要用锚标记包围单个元素。
这是否表示经过四年的努力,XLink 已经被 XHTML 2.0 采用了吗?总而言之,没有。事实上,XLink 和 XHTML 2.0 中规定的链接之间的差异是那些正从事各自建议书的开发人员之间争论的根源,所以在这个最初的公开工作草案和最后的建议书之间可能会做些更改。同时,可以组合使用该功能、导航列表、link 元素,以及资源描述框架(Resource Description Framework (RDF))来复制 XLink 的大多数功能。
XForms 是一个与 XML 相关的建议书,并确实已经成为 XHTML 2.0 的一部分。