XHTML是具有延伸性的超文本标记语言
出现XHTML目的就是要替代HTML
XHTML和HTML4.01几乎相同
XHTML是更严密代码更整洁的HTML版本
XHTML的定义形同将HTML视为XML(从代码的结构上)
XHTML是W3C的推荐标准
XHTML 1.0是一种在HTML 4.0基础上优化和改进的的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求。下面 是W3C的HTML工作组主席Steven pemberton回答的关于XHTML的常见基础问题。
问:什么是XHTML?
答:XHTML是一种为适应XML而重新改造的HTML。当XML越来越成为一种趋势,就出现了这样一个问题:如果我们有了XML,我们是否依然需要 HTML?为了回答这个问题,1998年5月我们在旧金山开了两天的工作会议,会议的结论是:需要。我们依然需要使用HTML。因为大量的人们已经习惯使 用HTML来作为他们的设计语言,而且,已经有数以百万计的页面是采用HTML编写的。
问:为什么XHTML 1.0相对HTML 4.0独立发展?
答:并不是这样。XHTML恰恰就是HTML 4.0的重新组织,(确切的说它是HTML 4.01,是一个修正版本的HTML 4.0,只不过以XHTML 1.0命名发行。) 它们在XML里的解释会有一些必要的差别,但另一方面,它们依然非常相似,我们可以把XHTML的工作看作是HTML 4.0基础上的延续。
问:XHTML 1.0如何实现XML标准?
答:XHTML就是一种XML应用。它采用XML的DTD文件格式定义,并运行在支持XML的系统上。这里要感谢XML的Namespaces功能,浏览 器制造商不需要再创造新的私有标签(tags),他们只需要在XHTML代码里包含XML代码片段,或者XML代码里包含XHTML代码片段。
问:XHTML 1.0最主要的优势是什么?
答:XML是web发展的趋势,所以人们急切的希望加入XML的潮流中。使用XHTML 1.0,只要你小心遵守一些简单规则,就可以设计出既适合XML系统,又适合当前大部分HTML浏览器的页面。这个意思就是说,你可以立刻设计使用 XML,而不需要等到人们都使用支持XML的浏览器。这个指导方针可以使web平滑的过渡到XML。
另一个使用XHTML的优势是:它非常严密。当前网络上的HTML的糟糕情况让人震惊,早期的浏览器接受私有的HTML标签,所以人们在页面设计完毕后必须使用各种浏览器来检测页面,看是否兼容,往往会有许多莫名其妙的差异,人们不得不修改设计以便适应不同的浏览器。
用XML我们可以重新建立制度,浏览器制造商联合采用'严格的错误防御标准',如果XML代码不兼容,浏览器拒绝显示页面,这样设计工作在发布前必须修正每一个错误。
问:用XHTML,网页设计师会遇到和HTML一样的浏览器兼容性问题吗?
答:希望不会。'严格的错误防御标准'将帮助浏览器对代码作出相同的响应,XML的namespaces功能使你可以增加自己的新标签而不需要特别的浏览 器支持。现在我们所需要得到保证的就是:所有浏览器开发商一致并且完全遵守我们制定的CSS。写信给你的浏览器制造商,告诉你需要的CSS规范,你甚至可 以检测浏览器是否听从你的设计。
问:学习XHTML是否很困难?
答:一点也不!
问:谁可以采用XHTML 1.0设计?
答:因为XHTML非常简单易于实现,所以任何会用HTML的人都可以容易地使用XHTML。当使用XML浏览器的人们越来越多,更多的工作会被建议使用XML,那时侯也许都将使用XHTML。
问:什么时候XHTML网站会普及?
答:好问题。我已经看到一些使用XHTML建立的网站,甚至在XHTML 1.0发布以前。我相信它将会有一个大发展,因为它太容易了。
问:我们如何将现有的HTMl转换为XHTML?
答:非常简单,因为它们非常相似。在W3C(www.w3c.org)网站上有一个开放原代码(open-source)的软件叫HTML Tidy,可以帮助你直接转换。
问:XHTML未来会怎样?
答:XHTML1.0仅仅是这个新HTML语言的第一步。新版本将没有向下兼容老浏览器的约束,可以有更多的发展空间。
首先,我们将进行一次彻底的清理,删除HTML 4.0中不兼容的元素。
其次,我们将XHTML模块化,允许人们在XML应用中使用XHTML模块(比如表格),减少重复开发。同时也允许开发特别用途的设计,比如电话应用,只要属于XHTML的子集就可以保持兼容,人们可以创造他们自己的HTML。
最后,在解决需求方面,我们将开发更多的表单(Forms)功能,允许在客户端执行更多的检测,减少客户机--服务器之间的网络信息传输。总之,更多令人兴奋的功能将会被实现。
------------------------------------------------------------------------------------------------------------------
什么叫HTML
HTML是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。神奇吗?一点都不神奇,因为现在你看到的就是这种语言写的页面.哈哈.
也许你听说过许多可以编辑网页的软件,事实上,你不需要用任何专门的软件来建立HTML页面;你所需要的只是一个文字处理器(如McrosoftWord/记事本/写字板等等)以及HTML的工作常识。其实你很快就会发现,基础的HTML语言简直容易死了。
-------------------------------------------------------------
你可以开始通过书写严密的HTML代码来为你的XHML之旅做好准备
怎样为XHTML做好准备
XHTML与HTML的区别并不是很大,因此熟悉HTML4.01标准代码对学习XHTML来讲非常有意义。W3S提供的HTML 4.01 参考可以帮助你熟悉它们
补充一下,你现在就应该开始习惯使用小写标签书写HTML代码,还有千万别漏掉结束标签。
最主要的区别:
- XHTML元素必须合理嵌套
- XHTML文档形式上必须符合规范
- 标签必须使用小写
- 所有的XHTML元素都必须有始有终
元素必须合理嵌套
在HTML中一些元素可以不使用正确的相互嵌套:
<b><i>This text is bold and italic</b></i>
在XHTML中所有元素必须合理的相互嵌套:
<b><i>This text is bold and italic</i></b>
注:在列表嵌套的时候经常会犯一个错误,就是忘记了在列表中插入一新列表必须嵌在<li>标记中:
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
<li>Milk</li>
</ul>
这才是正确的:
<ul>
<li>Coffee</li>
<li>Tea
<ul>
<li>Black tea</li>
<li>Green tea</li>
</ul>
</li>
<li>Milk</li>
</ul>
在这段正确的代码示例中,</ul>后面加入了</li>标签
文档形式上必须符合规范
所有的XHTML元素必须被嵌在<html> 根元素之中。所有其它的元素可以有自己的子元素。位于父元素之内的子元素必须成对出现且使用正确的嵌套。文档的基本构架为:
<html>
<head> ... </head>
<body> ... </body>
</html>
标签必须使用小写
因为XHTML文档是XML应用产物,XML是区分大小写的,所以<br>和<BR>会被认为是两种不同的标签。
这就是错误的:
<BODY>
<P>This is a paragraph</P>
</BODY>
这才是正确的:
<body>
<p>This is a paragraph</p>
</body>
所有的XHTML元素都必须有始有终
非空元素必须得有结束标签
这是错误的写法:
<p>This is a paragraph
<p>This is another paragraph
这是正确的:
<p>This is a paragraph</p>
<p>This is another paragraph</p>
空标签也得关闭
空标签同样也得关闭,可以是在开始标签后加上/>
这是错误的写法:
This is a break<br>
Here comes a horizontal rule:<hr>
Here's an image <img src='happy.gif' alt='Happy face'>
正确的是这样:
This is a break<br />
Here comes a horizontal rule:<hr />
Here's an image <img src='happy.gif' alt='Happy face' />
注意:为了使你的XHTML能够兼容目前的浏览器,你必须在/符号之加上一空格,如:<br />
这篇文章主要阐述 HTML 和 XHTML 的区别 --> 。简单来说,XHTML 可以认为是 XML 版本的 HTML --> ,为符合 XML 要求,XHTML 语法上要求更严谨些。
以下是 XHTML 相对 HTML 的几大区别:
- XHTML 要求正确嵌套
- XHTML 所有元素必须关闭
- XHTML 区分大小写
- XHTML 属性值要用双引号
- XHTML 用 id 属性代替 name 属性
- XHTML 特殊字符的处理
XHTML 要求正确嵌套
以下是正确的嵌套:
--> <p>布啦布啦<strong>独树一帜</strong>。</p>
以下是错误的嵌套:
<p>布啦布啦<strong>独树一帜</p></strong>。
--> XHTML 所有元素必须关闭
--> XHTML 里,应该写成:Javascript.
在 HTML 中 --> ,比如 <p>,<li> 这些标记,你可以不写 </p>,</li>,但 --> 是在 XHTML 里,必须要求写关闭标记 (Closing Tag)。
比如:
<p>布啦布啦很认真。
显然,如果浏览器做成这个样子,倒贴钱也是不会有人用的。
应该写成:
<p>布啦布啦很认真。</p>
处理空元素
--> 有些空元素,在 XHTML 里的写法是在'>'之前加空格和斜杠。比如<br>,应该写成<br />。
以下是空元素的例子:
<br />
<hr />
<img src = '***.jpg' alt = --> 'blabla' / --> >
<link rel='stylesheet' href='/styles/blabla.css' type='text/css --> ' />
<meta http-equiv='content-type' content --> ='text/html; charset=UTF --> -8' / --> >
XHTML 区分大小写
HTML 不区分大小写,但是 XHTML 是区分大小写的。
XHTML 的所有标记和属性都要小写。
比如:
<IMG SRC = '/***.jpg' Alt = 'blabla' / --> >
应该写成:
<img src = '/***.jpg' alt = 'blabla' />
XHTML 属性值要用双引号
HTML 并不强制要求属性值加双引号。比如 --> 你可以写:
--> <table cellspacing = 0>
<input checked>
--> 但在 XHTML 里,应该写成:
--> <table cellspacing = '0'>
--> <input checked = 'checked --> ' />
XHTML 用 id 属性代替 name 属性
HTML 很多元素 --> ,比如 a,applet,frame,iframe,img 和 map,有 name 属性。在 XHTML 里是要废除的,而用 id 属性取而代之。
比如:
<img src='XXX.gif' name='blabla logo'/>
应该写成:
<img src='XXX.g --> if' id --> ='blabla logo' />
XHTML 特殊字符的处理
& 应该在 XHTML 里应该写成 --> &。
比如:
You & Me
--> 应该写成:
You & Me
=====天王盖地虎 宝塔镇河妖=====XHTML 里应该写成 &!
还有如果内嵌 Javascript 代码,在 XHTML 里则应该写成:
--> <script type='text/javascript'>//<![CDATA[...
//]]></script>
浏览器的角度
以上是从协议标准的角度来看待这个问题的。如果从浏览器的角度来看待这个问题,情况就有所 --> 不同。
=====天王盖地虎 宝塔镇河妖=====标准要求浏览器 --> 不再支持原先的容错能力,这 --> 是一个标准制定者走火入魔的典型例子。
--> 考虑一下,如果把 XHTML 写得很不严格,浏览器会怎么做?是不是会弹出一个对话框,写着“这个网站的开发人员技术不过关,写的不是正宗的 XHTML 文件,咱不显示”?显然,如果浏览器做成这个样子,倒贴钱也是不会有人用的。
从浏览器的角度看待上面几个不同,大致是下面的测试结果(IE和Firefox我都测试过):
- XHTML 要求正确嵌套 --> :如果你没有嵌套,浏览器会试图帮你嵌套。
- XHTML 所有元素必须关闭:如果你没有关闭,浏览器会试图帮你关闭。
- XHTML 区分大小写:你非要写成大写,浏览器帮你转换成为小写。
- 属性值要用双引号:你非要不肯加,浏览器帮你加。
- 特殊字符的处理:You & Me 也好,You & Me 也好,浏览器都能读入。
- 用 id 属性代替 name 属性:你非要用 name 也可以 --> 。
如果你在文档开始用 DocType 指定为 XHTML 了,有一点需要注意 --> 。在给 Tag 用 class 指定CSS 的时候,是区分大小写的。例如,你定义了一个CSS如下 --> ,
<style>
.hello { ...... }
</style
-->
>
而你使用的时候写成,
--> <p class='Hello --> '> ......
那这个CSS --> 是不会被使用的。要积极的看待这个问题 --> ,这让你可以用更多的名字来命名 Style,是一个好事。
XHTML 标准的前途
从标准制定者的初衷看,制定 XHTML 标准是试图把 HTML 规范成为严格的 XML 格式,这样无可避免的会导致一个结果,就是从 HTML 到 XHTML 的升级导致标准的容错能力降低了 --> 。把自己的网页源文件写得严格一点当然是好事,但是一个标准 --> 不可能去要求浏览器降低自己的容错能力。
--> XHTML 1.0 标准是兼容 HTML 4.01,是个不错的协议,可以让开发者在编写代码的同时通过一些工具来检查代码的合法性,虽然对于用户而言,制作出来的网页和 HTML 4.01 相比实在没有什么不同。对于你写新的网页来说,使用 XHTML 1.0 还是一个不错的选择。
--> XHTML 1.1 标准要求浏览器不再支持原先的容错能力,这是一个标准制定者走火入魔的典型例子,这个标准从学术上说非常纯净,但是对于浏览器而言,则是个呆板、笨拙、不 可理喻的标准。所以目前所有由人类开发的浏览器都没有遵照所谓纯净的 XHTML 1.1的标准,你的代码只要浏览器能读懂,他都会很好的显示出来,而不跳出弹框报错。
从发展的趋势来看,一个标准没有浏览器服从,等于是没有意义的标准 --> 。从浏览器的实现角度来看,新的协议只能在原来 HTML 的基础上扩大能力增加容错,而不能缩小了能力减少容错。所以新的协议中 --> ,只有扩大能力增加容错的部分会被采纳,而其他部分都仅仅 --> 是纸上谈兵而已 --> 。
.