XHTML - 语法
XHTML 语法与 HTML 语法非常相似,几乎所有有效的 HTML 元素在 XHTML 中也有效。但是当您编写 XHTML 文档时,您需要额外注意一下以使您的 HTML 文档兼容 XHTML。
以下是编写新的 XHTML 文档或将现有 HTML 文档转换为 XHTML 文档时需要记住的要点 -
在 XHTML 文档的开头编写 DOCTYPE 声明。
仅以小写形式编写所有 XHTML 标记和属性。
正确关闭所有 XHTML 标签。
正确嵌套所有标签。
引用所有属性值。
禁止属性最小化。
将name属性替换为id属性。
弃用script 标记的语言属性。
以下是上述 XHTML 规则的详细解释 -
DOCTYPE声明
所有 XHTML 文档必须在开头有一个 DOCTYPE 声明。DOCTYPE 声明分为三种类型,在 XHTML Doctypes 章节中详细讨论。这是使用 DOCTYPE 的示例 -
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
区分大小写
XHTML 是区分大小写的标记语言。所有 XHTML 标签和属性只需以小写形式编写。
<!-- This is invalid in XHTML --> <A Href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</A> <!-- Correct XHTML way of writing this is as follows --> <a href="/xhtml/xhtml_tutorial.html">XHTML Tutorial</a>
示例中,Href和锚标记A不是小写,因此不正确。
关闭标签
每个 XHTML 标签都应该有一个等效的结束标签,即使是空元素也应该有结束标签。这是一个显示使用标签的有效和无效方法的示例 -
<!-- This is invalid in XHTML --> <p>This paragraph is not written according to XHTML syntax. <!-- This is also invalid in XHTML --> <img src="/images/xhtml.gif" >
以下语法显示了在 XHTML 中编写上述标签的正确方法。不同的是,这里我们已经正确关闭了两个标签。
<!-- This is valid in XHTML --> <p>This paragraph is not written according to XHTML syntax.</p> <!-- This is also valid now --> <img src="/images/xhtml.gif" />
属性引号
XHTML 属性的所有值都必须加引号。否则,您的 XHTML 文档将被视为无效文档。这是显示语法的示例 -
<!-- This is invalid in XHTML --> <img src="/images/xhtml.gif" width=250 height=50 /> <!-- Correct XHTML way of writing this is as follows --> <img src="/images/xhtml.gif" width="250" height="50" />
属性最小化
XHTML 不允许属性最小化。这意味着您需要明确声明该属性及其值。以下示例显示了差异 -
<!-- This is invalid in XHTML --> <option selected> <!-- Correct XHTML way of writing this is as follows --> <option selected="selected">
以下是 HTML 中最小化属性的列表以及在 XHTML 中编写它们的方式 -
HTML 样式 | XHTML风格 |
---|---|
袖珍的 | 紧凑=“紧凑” |
检查过 | 检查=“检查” |
宣布 | 声明=“声明” |
只读 | 只读=“只读” |
残疾人 | 禁用=“禁用” |
已选择 | 已选择=“已选择” |
推迟 | 推迟=“推迟” |
伊斯兰地图 | 地图=“地图” |
诺赫雷夫 | 诺赫参考=“诺赫参考” |
没有阴影 | 没有阴影=“没有阴影” |
诺拉普 | nowrap=“nowrap” |
多种的 | 多个=“多个” |
诺雷尺寸 | 诺大小=“诺大小” |
id属性_
id 属性取代了 name 属性。XHTML 更喜欢使用 id = "id",而不是使用 name = "name"。以下示例显示了如何操作 -
<!-- This is invalid in XHTML --> <img src="/images/xhtml.gif" name="xhtml_logo" /> <!-- Correct XHTML way of writing this is as follows --> <img src="/images/xhtml.gif" id="xhtml_logo" />
语言属性_
不推荐使用 script 标记的语言属性。以下示例显示了这种差异 -
<!-- This is invalid in XHTML --> <script language="JavaScript" type="text/JavaScript"> document.write("Hello XHTML!"); </script> <!-- Correct XHTML way of writing this is as follows --> <script type="text/JavaScript"> document.write("Hello XHTML!"); </script>
嵌套标签
您必须正确嵌套所有 XHTML 标记。否则您的文档将被假定为不正确的 XHTML 文档。以下示例显示了语法 -
<!-- This is invalid in XHTML --> <b><i> This text is bold and italic</b></i> <!-- Correct XHTML way of writing this is as follows --> <b><i> This text is bold and italic</i></b>
元素禁令
以下元素中不允许包含任何其他元素。该禁令适用于所有嵌套深度。意思是,它包括所有降序元素。
元素 | 禁止 |
---|---|
<一> | 不得包含其他 <a> 元素。 |
<前> | 不得包含 <img>、<object>、<big>、<small>、<sub> 或 <sup> 元素。 |
<按钮> | 不得包含 <input>、<select>、<textarea>、<label>、<button>、<form>、<fieldset>、<iframe> 或 <isindex> 元素。 |
<标签> | 不得包含其他 <label> 元素。 |
<表格> | 不得包含其他 <form> 元素。 |
最小的 XHTML 文档
以下示例向您展示了 XHTML 1.0 文档的最低内容 -
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/TR/xhtml1" xml:lang="en" lang="en"> <head> <title>Every document must have a title</title> </head> <body> ...your content goes here... </body> </html>