标题：XHTML
形成背景
XHTML是The Extensible HyperText Markup Language(可扩展超文本标识语言)的缩写。HTML是一种基本的WEB网页设计语言，XHTML是一个基于XML的标记语言，看起来与HTML有些相象，只有一些小的但重要的区别，XHTML就是一个扮演着类似HTML的角色的XML，所以，本质上说，XHTML是一个过渡技术，结合了部分XML的强大功能及大多数HTML的简单特性。
2000年底，国际W3C组织(World Wide Web Consortium)组织公布发行了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（Cascading Style Sheets，层叠式样式表）结合后，XHTML能发挥真正的威力；这使实现样式跟内容的分离的同时，又能有机地组合网页代码，在另外的单独文件中，还可以混合各种XML应用，比如MathML、SVG。
从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标签应该使用小写.
有效文件
一个符合XHTML标准的文件即可称为有效. 此可以确保XHTML文件代码的协调, 亦能令文件的更容易被处理, 而不需确保各种浏览器编译的一致性。而W3C验证服务则可以验证文件是否有效。而实际上, 很多网站开发工具(例如Dreamweaver)都支援以W3C标准验证文件。语法XHTML语言必须符合XML的格式，例如
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标签在火狐下没有图片说明！
现行规范
1. XHTML 1.0 Transitional - 过渡型，标识语法要求较宽松
<!DOCTYPEhtml PUBLIC "-//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的所有改动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www./TR/xhtml1/DTD/xhtml1-strict.dtd">
要求严格的DTD，你不能使用任何表现层的标识和属性，例如
。
3. XHTML 1.0 Frameset - 框架集定义
<!DOCTYPE html PUBLIC "-//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>/
W3C释义
W3C是英文 World Wide Web Consortium 的缩写，中文意思是W3C理事会或万维网联盟。W3C于1994年10月在麻省理工学院计算机科学实验室成立。创建者是万维网的发明者Tim Berners-Lee。 　W3C组织是对网络标准制定的一个非赢利组织，像HTML、XHTML、CSS、XML的标准就是由W3C来定制。W3C会员（大约500名会员）包括生产技术产品及服务的厂商、内容供应商、团体用户、研究实验室、标准制定机构和政府部门，一起协同工作，致力在万维网发展方向上达成共识。
XHTML总结
XHTML是“3种HTML 4文件根据XML 1.0标准重组”而成的。 而W3C亦继续维持建议使用HTML4.01和积极地研究HTML5及XHTML的计划。 于2002年8月发表的XHTML 1.0 的建议中，W3C指出XHTML家族将会是Internet的新阶段。而转换使用XHTML可以令开发人员接触XML和其好处，并可以确保以XHTML开发的网页于未来的相容性。
HTML语法要求比较松散，这样对网页编写者来说，比较方便，但对于机器来说，语言的语法越松散，处理起来就越困难，对于传统的电脑来说，还有能力兼容松散语法，但对于许多其他设备，比如手机，难度就比较大。因此产生了由DTD定义规则，语法要求更加严格的XHTML。
大部分常见的浏览器都可以正确地解析XHTML，即使老一点的浏览器，XHTML作为HTML的一个子集，许多也可以解析。也就是说，几乎所有的网页浏览器在正确解析HTML的同时，可兼容XHTML。当然，从HTML完全转移到XHTML，还需要一些过程。
跟CSS（Cascading Style Sheets，层叠式样式表）结合后，XHTML能发挥真正的威力；这使实现样式跟内容的分离的同时，又能有机地组合网页代码，在另外的单独文件中，还可以混合各种XML应用，比如MathML、SVG。
从HTML到XHTML过渡的变化比较小，主要是为了适应XML。最大的变化在于文档必须是良构的，所有标签必须闭合，也就是说开始标签要有相应的结束标签。另外，XHTML中所有的标签必须小写。而按照HTML 2.0以来的传统，很多人都是将标签大写，这点两者的差异显著。在XHTML中，所有的参数值，包括数字，必须用双引号括起来（而在SGML和HTML中，引号不是必须的，当内容只是数字、字母及其它允许的特殊字符时，可以不用引号）。所有元素，包括空元素，比如img、br等，也都必须闭合，实现的方式是在开始标签末尾加入斜扛，比如<img … /> 、<br />。省略参数，比如<option selected>，也不允许，必须用<option selected="selected">。两者的详细差别，可通过W3C XHTML说明来查阅。