永远的夜
这个世界太精彩,让爱各自的存在。
可扩展超文本标记语言,是一种置标语言,表现方式与超文本标记语言HTML)类似,不过语法上更加严格。
从继承关系上讲,HTML是一种基于标准通用置标语言的应用,是一种非常灵活的置标语言,而XHTML则基于可扩展标记语言可扩展标记语言标准通用置标语言的一个子集。XHTML 1.0在2000年1月26日成为W3C的推荐标准。

1形成背景

可扩展超文本标记语言。HTML是一种基本的WEB网页设计语言,XHTML是一个基于可扩展标记语言标记语言,看起来与HTML有些相象,只有一些小的但重要的区别,XHTML就是一个扮演着类似HTML的角色的可扩展标记语言(XML),所以,本质上说,XHTML是一个过渡技术,结合了部分XML的强大功能及大多数HTML的简单特性。
2000年底,国际W3C组织万维网联盟)组织公布发行了XHTML 1.0版本。XHTML 1.0是一种在HTML 4.0基础上优化和改进的的新语言,目的是基于XML应用。XHTML是一种增强了的HTML,XHTML 是更严谨更纯净的 HTML 版本。它的可扩展性和灵活性将适应未来网络应用更多的需求。XML虽然数据转换能 力强大,完全可以替代HTML,但面对成千上万已有的基于HTML语言设计的网站,直接采用XML还为时过早。因此,在HTML4.0的基础上,用XML 的规则对其进行扩展,得到了XHTML。所以,建立XHTML的目的就是实现HTML向XML的过渡。国际上在网站设计中推崇的WEB标准就是基于XHTML的应用(即通常所说的CSS+DIV)。

概述

XHTML是当前HTML版的继承者。HTML语法要求比较松散,这样对网页编写者来说,比较方便,但对于机器来说,语言的语法越松散,处理起来就越困难,对于传统的计算机来说,还有能力兼容松散语法,但对于许多其他设备,比如手机,难度就比较大。因此产生了由DTD定义规则,语法要求更加严格的XHTML。
大部分常见的浏览器都可以正确地解析XHTML,即使老一点的浏览器,XHTML作为HTML的一个子集,许多也可以解析。也就是说,几乎所有的网页浏览器在正确解析HTML的同时,可兼容XHTML。当然,从HTML完全转移到XHTML,还需要一个过程。
跟层叠式样式表(外语缩写:CSS)结合后,XHTML能发挥真正的威力;这使实现样式跟内容的分离的同时,又能有机地组合网页代码,在另外的单独文件中,还可以混合各种XML应用,比如MathMLSVG
HTML到XHTML过渡的变化比较小,主要是为了适应XML。最大的变化在于文档必须是良构的,所有标签必须闭合,也就是说开始标签要有相应的结束标签。另外,XHTML中所有的标签必须小写。而按照HTML 2.0以来的传统,很多人都是将标签大写,这点两者的差异显著。在XHTML中,所有的参数值,包括数字,必须用双引号括起来(而在SGML和HTML中,引号不是必须的,当内容只是数字、字母及其它允许的特殊字符时,可以不用引号)。所有元素,包括空元素,比如img、br等,也都必须闭合,实现的方式是在开始标签末尾加入斜扛,比如<code><nowiki><img … /></nowiki></code> 、<code><nowiki>
</nowiki></code>。省略参数,比 如<code><nowiki><option selected></nowiki></code>,也不允许,必须 用<code><nowiki><option selected="selected"/></nowiki></code>。两者的详细差别,可通过W3C XHTML说明]来查阅。

定义

XHTML 指扩展超文本标签语言(EXtensible HyperText Markup Language)。
XHTML 的目标是取代 HTML。
XHTML 与 HTML 4.01 几乎是相同的。
XHTML 是更严格更纯净的 HTML 版本。
XHTML 是作为一种 XML 应用被重新定义的 HTML。

W3C 标准

* XHTML是EXtensible HyperText Markup Language的英文缩写,即可扩展的超文本标记语言.
* XHTML语言是一种标记语言,它不需要编译,可以直接由浏览器执行.
* XHTML是用来代替HTML的, 是2000年w3c公布发行的.
* XHTML是一种增强了的HTML,它的可扩展性和灵活性将适应未来网络应用更多的需求.
* XHTML是基于XML的应用.
* XHTML更简洁更严谨.
* XHTML也可以说就是HTML一个升级版本.(w3c描述它为'HTML 4.01')
* 除此之外XHTML和HTML基本相同.
* XHTML是大小写敏感的,XHTML与xhtml是不一样的.标准的XHTML标签应该使用小写.

2有效文件

一个符合XHTML标准的文件即可称为有效. 此可以确保XHTML文件代码的协调, 亦能令文件的更容易被处理, 而不需确保各种浏览器编译的一致性。而W3C验证服务则可以验证文件是否有效。而实际上, 很多网站开发工具(例如Dreamweaver)都支援以W3C标准验证文件。

语法

XHTML语言必须符合XML的格式,[1]例如
Attribute names must be in lower case
属性名称必须为小写
This is wrong:
这是错误的:
<table WIDTH="100%">
This is correct:
这是正确的:
<table width="100%">
Attribute values must be quoted
属性值使用双引号
This is wrong:
这是错误的:
<table width=100%>
This is correct:
这是正确的:
<table width="100%">
Attribute minimization is forbidden
属性简写是不允许的
This is wrong:
这是错误的:
<input checked> <input readonly> <input disabled> <option selected> <frame noresize>
This is correct:
正确的是这样:
<input checked="checked" /> <input readonly="readonly" /> <input disabled="disabled" /> <option selected="selected" /> <frame noresize="noresize" />
The id attribute replaces the name attribute
用id属性来替代name属性
This is wrong:
这是错误的:
<img src="picture.gif" name="picture1" />
This is correct:
这是正确的:
<img src="picture.gif" id="picture1" />
注意:为了版本比较低的浏览器,你应该同时使用name和id属性,并使它们两个的值相同的,像这样:
<img src="picture.gif" id="picture1" name="picture1" />
这是在HTML中简写的属性和其在XHTML中应该怎样书写的列表:
HTML XHTML
compact compact="compact"
checked checked="checked"
declare declare="declare"
readonly readonly="readonly"
disabled disabled="disabled"
selected selected="selected"
defer defer="defer"
ismap ismap="ismap"
nohref nohref="nohref"
noshade noshade="noshade"
nowrap nowrap="nowrap"
multiple multiple="multiple"
noresize noresize="noresize"
这些做法的目的,是使一个XHTML网页能够被网页浏览器正确及较快地编译

与HTML对比

1.所有的标记都必须要有一个相应的结束标记
以前在HTML中,你可以打开许多标签,例如和<li>而不一定写对应的和</li>来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。例如:
<img height="80" alt="网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />
2.所有标签的元素和属性的名字都必须使用小写
与HTML不一样,XHTML对大小写是敏感的,<title>和<TITLE>是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如:<BODY>必须写成<body> 。大小写夹杂也是不被认可的,通常dreamweaver自动生成的属性名字"onMouseOver"也必须修改成"onmouseover"。
3.所有的XML标记都必须合理嵌套
同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码:
<p><b></p></b>
必须修改为:<p><b></b></p>
就是说,一层一层的嵌套必须是严格对称。
4.所有的属性必须用引号""括起来
在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。例如:
<height=80>
必须修改为:
<height="80">
特殊情况,你需要在属性值里使用双引号,你可以用",单引号可以使用&apos;,例如:
<alt="say&apos;hello&apos;">
5.把所有<和&特殊符号用编码表示
任何小于号(<),不是标签的一部分,都必须被编码为& l t ;
任何大于号(>),不是标签的一部分,都必须被编码为& g t ;
任何与号(&),不是实体的一部分的,都必须被编码为& a m p;
注:以上字符之间无空格。
6.给所有属性赋一个值
XHTML规定所有属性都必须有一个值,没有值的就重复本身。例如:
<input type="checkbox" name="shirt" value="medium" checked>
必须修改为:
<input type="checkbox" name="shirt" value="medium" checked="checked">
7.不要在注释内容中使“--”
“--”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是无效的:
<!--这里是注释-----------这里是注释-->
用等号或者空格替换内部的虚线。
<!--这里是注释============这里是注释-->
以上这些规范有的看上去比较奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。
8.图片必须有说明文字
每个图片标签都必须有ALT说明文字。
<img src="ball.jpg" alt="large red ball" title="large red ball"/> //为了兼容火狐和IE浏览器,对于图片标签,尽量采用 alt和title双标签,单纯的alt标签在火狐下没有图片说明!

3现行规范

1. XHTML 1.0 Transitional - 过渡型,标识语法要求较宽松
<!DOCTYPEhtmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.<CITE class=highlight highlight="true"> </CITE>/TR/xhtml1/DTD/xhtml1-transitional.dtd">
要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。
2. XHTML 1.0 Strict - 严格型,标识要求达到以上XHTML相比于HTML的所有改动
<!DOCTYPEhtmlPUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www./TR/xhtml1/DTD/xhtml1-strict.dtd">
要求严格的DTD,你不能使用任何表现层的标识和属性,例如
3. XHTML 1.0 Frameset -框架集定义
<!DOCTYPEhtmlPUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.<CITE class=highlight highlight="true"></CITE>/TR/xhtml1/DTD/xhtml1-frameset.dtd">
专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD
4. XHTML 1.1 - 模块化的XHTML
5. XHTML 2.0 - 完全模块化可定制化的XHTML,正在开发中,参考http://<CITE class="highlight" highlight="true"></CITE>/

4W3C释义

W3C是英文 World Wide Web Consortium 的缩写,中文意思是W3C理事会或万维网联盟。W3C于1994年10月在麻省理工学院计算机科学实验室成立。创建者是万维网的发明者Tim Berners-Lee。  W3C组织是对网络标准制定的一个非赢利组织,像HTML、XHTML、CSS、XML的标准就是由W3C来定制。W3C会员(大约500名会员)包括生产技术产品及服务的厂商、内容供应商、团体用户、研究实验室、标准制定机构和政府部门,一起协同工作,致力在万维网发展方向上达成共识。

5总结

XHTML是“3种HTML 4文件根据XML 1.0标准重组”而成的。 而W3C亦继续维持建议使用HTML4.01和积极地研究HTML5及XHTML的计划。 于2002年8月发表的XHTML 1.0 的建议中,W3C指出XHTML家族将会是Internet的新阶段。而转换使用XHTML可以令开发人员接触XML和其好处,并可以确保以XHTML开发的网页于未来的相容性。
HTML
XHTML HTML 5 CSS TCP/IP
XML
XML XSL XSLT XSL-FO XPath XPointer XLink DTD XML Schema DOM XForms SOAP WSDL RDF RSS WAP Web Services
Web脚本
JavaScript HTML DOM DHTML VBScript AJAX jQuery JSON E4X WMLScript
Serv脚本
SQL ASP ADO PHP
.NET
多媒体
SMIL SVG

网页技术与标准

文档呈现语言
HTML XHTML XML XForms
DHTML      
 
样式格式描述语言
层叠样式表 XSL    
 
动态网页技术
CGI FastCGI ASP ASP.NET
ColdFusion JSP PHP  
 
客户端交互技术
ActiveX Java Applet JavaFX AJAX
Silverlight ActionScript Flex AIR
 
客户端脚本语言
JavaScript JScript VBScript ECMAScript
 
标识定位语言
URL URI XPath URL重写
 
文档纲要语言
DTD XML Schema    
 
参考资料
posted on 2014-01-04 10:12  永远的夜  阅读(218)  评论(0)    收藏  举报