设为首页收藏本站language 语言切换
查看: 1572|回复: 0
收起左侧

Web 的未来:XHTML 2.0

[复制链接]
发表于 2010-2-25 10:28:15 | 显示全部楼层 |阅读模式
<p >多年以来,HTML只是在不断变大,却从未变小,因为新版本必须维护向后兼容性。这一情况将得以改变。XHTML 2.0的第一个工作草案于2002年8月5日发布,一大新闻就是取消了向后兼容性;该语言终于得以继续发展。那么,作为一名开发人员您将得到什么回报呢?健壮的表单和事件表现如何呢?它们是研究不需要大量 JavaScript 的框架以及甚至层次结构菜单的更佳方法。<p >本文概述了 XHTML 2.0 中的新增功能以及将来可能会如何使用它。读者应该熟悉 HTML 和/或 XHTML 1.0。熟悉级联样式表(Cascading Style Sheet (CSS))是有帮助的,但不是必需的。<p ><center><font color="#000099"><strong>告别向后兼容性,引入结构</strong></font></center><p >当万维网联盟(World Wide Web Consortium (W3C))于 2002 年 8 月 5 日发布 XHTML 2.0 的第一个工作草案时,最让人吃惊的是:与其先前的版本不同,它不是向后兼容的。对于先前的发行版,如从 HTML 4.01 转到 XHTML 1.0 以及后来从 XHTML 1.0 到 XTHML 1.1,变化都是添加一些内容;可以读取 XHTML 1.0(过渡的)文档的浏览器也可以理解 HTML 4.01 文档。而 XHTML 2.0 不是那样的。<p >如果您在两年前宣布我们今天将研究不带 img 标记或 bold 标记的 HTML 版本,那么大多数 Web 开发人员都会用怀疑的眼光看着您。然而,现在就是这样。除了彻底替换表单和框架外,XHTML 2.0 还除去了 b、i 和img标记(以及 big、small 和 tt),甚至不赞成使用br,以准备从将来的发行版中除去它。但这是为什么呢?<p >原因在于大多数标记都是表示性的。它们的唯一目的就是给予浏览器指令,规定有关其内容应该如何显示,但却完全未提供有关其内容是什么的信息。例如,请考虑下面两个句子:<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>resentational elements are, &lt;i&gt;for the most part&lt;/i&gt;, &lt;b&gt;gone&lt;/b&gt;.</ccid_code></pre></td></tr></table></ccid_nobr><p >和<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>resentational elements are, &lt;em&gt;for the most part&lt;/em&gt;, &lt;strong&gt;gone&lt;/strong&gt;.</ccid_code></pre></td></tr></table></ccid_nobr><p >在没有样式表的情况下,这两个句子在浏览器中看起来是一样的,但只有第二个句子提供了有关原因的信息。事实上,从一开始 em(强调)和 strong 标记就出现在 HTML 中了,但多年以来作者们基本上已经忽略了它们,而专注于表现形式,这是以牺牲内容为代价的。<p >但这并不意味着只要您想使某些内容变成粗体或斜体,就应该将它们硬塞进这两个标记中。相反,除去表示性元素的整个目的是设法完成 CSS 的发明者的初衷,即应该根据内容所表示的东西来标记内容,而样式表应该用于美化内容。例如,清单 1 使用类别(class)来指出内容类型。<p >清单 1. 使用类别指定内容类型<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>&lt;html&gt;&lt;head&gt;&lt;title&gt;Employee Notice&lt;/title&gt;&lt;style type=&quot;text/css&quot;&gt;    .duedate { color: red;               font-weight: bold; }    .holiday { color: green;               font-style: italic }&lt;/style&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;Notice&lt;/h1&gt;&lt;p&gt;Employees should take note of the following important dates:&lt;/p&gt;&lt;ul&gt;    &lt;li class=&quot;duedate&quot;&gt;8/28/2002 (Progress reports due)&lt;/li&gt;    &lt;li class=&quot;holiday&quot;&gt;9/1/2002 (Labor Day)&lt;/li&gt;    &lt;li class=&quot;duedate&quot;&gt;10/28/2002 (Final reports due)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</ccid_code></pre></td></tr></table></ccid_nobr><p >在该页面中,日期类型可以由内容本身来确认,浏览器可以使用类别信息来决定如何为其设计样式,如图 1 中所示。<p ><center><img  src="http://www.hh010.com/upload_files/article/244/9_j4apoa86494.jpg"></center><p ><center>图1. 类别可以确定显示哪一类内容,样式表可以对它进行适当的格式化。</center><p >用这种观点研究它:断开(br)标记的目的无外乎是为了显示,因为实际上它并无任何内容。XHTML 2.0 不赞成使用 br 标记,而提倡使用 line 标记。line 标记指定一种特殊的内容:通常是以后跟换行和回车这种方式呈现的一行文本或其它内容。例如,文本:<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>&lt;p&gt;public class HelloWorld {&lt;br /&gt;public static void main (String[] args){&lt;br /&gt;System.out.println(&quot;Hello world!&quot;);&lt;br /&gt;}&lt;br /&gt;}&lt;/p&gt;</ccid_code></pre></td></tr></table></ccid_nobr><p >变成<p ><ccid_nobr><table width="550" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"><tr><td bgcolor="e6e6e6" class="code"><pre><ccid_code>&lt;p&gt;&lt;line&gt;public class HelloWorld {&lt;/line&gt;&lt;line&gt;public static void main (String[] args){ &lt;/line&gt;&lt;line&gt;System.out.println(&quot;Hello world!&quot;); &lt;/line&gt;&lt;line&gt;}&lt;/line&gt;&lt;line&gt;}&lt;/line&gt;&lt;/p&gt;</ccid_code></pre></td></tr></table></ccid_nobr><p >这样,文档就有了一个表示行的实际对象,同样,段(p)标记表示一段内容。                                 <p align="center"><font color="FF0000" >1</font>234<span class="content01">下一页&gt;&gt;</span></p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-10 13:20 , Processed in 0.060364 second(s), 23 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表