常见 XHTML 验证错误
原文: http://www.blackwidows.org.uk/resources/tutorials/xhtml/common-errors.html
未经编码的与符号 ("&")
示例:
<a href="foo.cgi?chapter=1§ion=2">...</a>
可能导致的验证报告: 未知实体...
解决方法: 总是使用& 替代&。
正确的语法:
<a href="foo.cgi?chapter=1&section=2">...</a>
错误嵌套元素
示例:
<strong><em>...</strong></em>
可能导致的验证报告: 丢失</em>标签
解决方法: 在XHTML中的所有元素必须按照其打开的相反顺序进行关闭。
正确的语法:
<strong><em>...</em></strong>
小写的 DOCTYPE
示例:
<!doctype html public "-//w3c//dtd xhtml 1.0 strict//en"
"http://www.w3.org/tr/xhtml1/dtd/xhtml1-strict.dtd" >
可能导致的验证报告: 丢失 DOCTYPE
解决方法: DOCTYPE 大小写敏感,请使用正确的拼写方式。
正确的语法: :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
丢失关闭的" /"
示例:
<img src="image.gif" width="100" height="100" alt="Logo">
可能导致的验证报告: 丢失关闭标签
解决方法: 通常称为 "空元素", 例如 img , 必须添加一个空格并尾随一个斜杠"/"。
参阅XHTML Elements 来查看完整列表。
正确的语法: :
<img src="image.gif" width="100" height="100" alt="Logo" />
大写标签
示例:
<STRONG><EM>...</EM></STRONG>
可能导致的验证报告: 没有指定的元素...
解决方法: 为所有的HTML元素和属性名称使用小写。 这样做是有必要的,因为XML是大小写敏感的。例如<em> 和 <EM> 就是不同的标签。
正确的语法: :
<strong><em>...</em></strong>
未使用引号括起的属性值
示例:
<td rowspan=3>
可能导致的验证报告: 缺少" "
解决方法: 所有的属性值必须括起, 包括那些看起来是数字的值。
正确的语法: :
<td rowspan="3">
译者续:
在XHTML Strict文档使用表现性的某些标签或属性
示例:
<a href="#" target="_blank">
可能导致的验证报告: 此版本的HTML中没有该属性
解决方法: 严格遵照DTD的定义进行书写代码,或者为您的文档另外选择一个适当的DOCTYPE。也可以通过Javascript + DOM来实现某些效果。
正确的语法: :
<a href="#" onclick="window.open(this.href);return false" >