我正在写关于XHTML的词条，想了解一下背景知识，你能详细介绍一下吗？
user
XHTML是TheExtensibleHyperTextMarkupLanguage(可扩展超文本标识语言)的缩写。HTML是一种基本的WEB网页设计语言，XHTML是一个基于XML的标记语言，看起来与HTML有些相象，只有一些小的但重要的区别，XHTML就是一个扮演着类似HTML的角色的XML，所以，本质上说，XHTML是一个过渡技术，结合了部分XML的强大功能及大多数HTML的简单特性。
可扩展超文本置标语言(eXtensibleHyperTextMarkupLanguage，XHTML)，是一种置标语言，表现方式与超文本置标语言(HTML)类似，不过语法上更加严格。从继承关系上讲，HTML是一种基于标准通用置标语言(SGML)的应用，是一种非常灵活的置标语言，而XHTML则基于可扩展置标语言(XML)，XML是SGML的一个子集。XHTML1.0在2000年1月26日成为W3C的推荐标准。
2000年底，国际W3C组织(WorldWideWebConsortium)组织公布发行了XHTML1.0版本。XHTML1.0是一种在HTML4.0基础上优化和改进的的新语言，目的是基于XML应用。XHTML是一种增强了的HTML,XHTML是更严谨更纯净的HTML版本。它的可扩展性和灵活性将适应未来网络应用更多的需求。XML虽然数据转换能力强大，完全可以替代HTML，但面对成千上万已有的基于HTML语言设计的网站，直接采用XML还为时过早。因此，在HTML4.0的基础上，用XML的规则对其进行扩展，得到了XHTML。所以，建立XHTML的目的就是实现HTML向XML的过渡。国际上在网站设计中推崇的WEB标准就是基于XHTML的应用(即通常所说的CSS+DIV)。#### XHTML的版本

XHTML共有以下几个版本：
1.XHTML1.0Strict(严格版)是参照“HTML4.01Strict”改编，但不包括被弃用的元素。其文件类型描述为：


<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

2.XHTML1.0Transitional(过渡版)是参照“HTML4.01Transitional”改编，包括已于Strict版本被弃用的呈现性元素。其文件类型描述为：


<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

3.XHTML1.0Frameset(框架版)是参照“HTML4.01Frameset”改编，并允许于网页中定义框架元素。其文件类型描述为：


<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Frameset//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

4.XHTML1.1。其文件类型描述为：


<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.1//EN""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

5.XHTMLBasic。其文件类型描述为：


<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTMLBasic1.1//EN""http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">

另外，在MicrosoftInternetExplorer5.0所新增的小字注解标签，在XHTML1.1得到支援。
而第二版的XHTML1.0于2002年8月成为W3C推荐的文件类型。#### XHTML与HTML的不同

1.所有的标记都必须要有一个相应的结束标记
以前在HTML中，你可以打开许多标签，但在XHTML中这是不合法的。XHTML要求有严谨的结构，所有标签必须关闭。如果是单独不成对的标签，在标签最后加一个"/"来关闭它。例如:


<imgheight="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.把所有<和&特殊符号用编码表示
任何小于号(<)，不是标签的一部分，都必须被编码为&lt ;
任何大于号(>)，不是标签的一部分，都必须被编码为&gt ;
任何与号(&)，不是实体的一部分的，都必须被编码为&amp;
注：以上字符之间无空格。
6.给所有属性赋一个值
XHTML规定所有属性都必须有一个值，没有值的就重复本身。例如：


<inputtype="checkbox"name="shirt"value="medium"checked>

必须修改为：


<inputtype="checkbox"name="shirt"value="medium"checked="checked">

7.不要在注释内容中使“--”
“--”只能发生在XHTML注释的开头和结束，也就是说，在内容中它们不再有效。例如下面的代码是无效的:


<!--这里是注释-----------这里是注释-->

用等号或者空格替换内部的虚线。


<!--这里是注释============这里是注释-->

以上这些规范有的看上去比较奇怪，但这一切都是为了使我们的代码有一个统一、唯一的标准，便于以后的数据再利用。
8.图片必须有说明文字
每个图片标签都必须有ALT说明文字。


<imgsrc="ball.jpg"alt="largeredball"title="largeredball"/>//

为了兼容火狐和IE浏览器，对于图片标签，尽量采用alt和title双标签，单纯的alt标签在火狐下没有图片说明！
assistant