XHTML - 語法



XHTML 語法與 HTML 語法非常相似,幾乎所有有效的 HTML 元素在 XHTML 中也都是有效的。但是,當您編寫 XHTML 文件時,需要格外注意,使您的 HTML 文件符合 XHTML 標準。

以下是在編寫新的 XHTML 文件或將現有的 HTML 文件轉換為 XHTML 文件時需要記住的重要事項:

  • 在 XHTML 文件的開頭編寫 DOCTYPE 宣告。

  • 所有 XHTML 標籤和屬性都必須小寫。

  • 正確關閉所有 XHTML 標籤。

  • 正確巢狀所有標籤。

  • 對所有屬性值加引號。

  • 禁止屬性最小化。

  • id 屬性替換 name 屬性。

  • 棄用 script 標籤的 language 屬性。

以下是上述 XHTML 規則的詳細說明:

DOCTYPE 宣告

所有 XHTML 文件都必須在開頭包含 DOCTYPE 宣告。有三種類型的 DOCTYPE 宣告,在 XHTML 文件型別章節中詳細討論。以下是用 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 樣式
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"

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" />

language 屬性

script 標籤的 language 屬性已棄用。以下示例顯示了這種差異:

<!-- 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> 不得包含其他 <a> 元素。
<pre> 不得包含 <img>、<object>、<big>、<small>、<sub> 或 <sup> 元素。
<button> 不得包含 <input>、<select>、<textarea>、<label>、<button>、<form>、<fieldset>、<iframe> 或 <isindex> 元素。
<label> 不得包含其他 <label> 元素。
<form> 不得包含其他 <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>
廣告

© . All rights reserved.