HTML-XHTML



XHTML 是以 XML 格式撰寫的 HTML。


什麼是XHTML?

  • XHTML 指的是可擴充超文本標記語言

  • XHTML 與HTML 4.01 幾乎是相同的

  • XHTML 是更嚴格更純淨的HTML 版本

  • XHTML 是以XML 應用的方式定義的HTML

  • XHTML 是2001 年1 月發布的W3C 推薦標準

  • XHTML 得到所有主流瀏覽器的支援


#為什麼使用XHTML?

因特網上的許多頁麵包含了"糟糕"的HTML。

如果在瀏覽器中查看,下面的HTML 程式碼運行起來非常正常(即使它並未遵守HTML 規則):

<html>
<head>
<title>This is bad HTML</title>
<body>
<h1>Bad HTML
<p>This is a paragraph
</body>
XML 是一種必須正確標記且格式良好的標記語言。

如果希望學習 XML,請閱讀我們的 XML 教學。

今日的科技界存在著一些不同的瀏覽器技術。其中一些在電腦上運行,而另一些可能在行動電話或其他小型設備上運行。小型設備往往缺乏解釋"糟糕"的標記語言的資源和能力。

所以 - 透過結合 XML 和 HTML 的長處,發展出了 XHTML。 XHTML 是作為 XML 重新設計的 HTML。


與HTML 相比最重要的差異:

文件結構

  • #XHTML DOCTYPE 是強制性的

  • <html> 中的XML namespace 屬性是強制性的

  • <html>、< head>、<title> 以及<body> 也是強制的

##元素語法

  • XHTML 元素必須

    正確巢狀

  • XHTML 元素必須始終

    關閉

  • XHTML 元素必須

    小寫

  • XHTML 文件必須有

    一個根元素

  • ##屬性語法

    XHTML 屬性必須使用
  • 小寫

  • #XHTML 屬性值必須用
  • 引號包圍

  • #XHTML 屬性最小化也是
  • 禁止的

#<!DOCTYPE ....>是強制性的

XHTML 文件必須進行XHTML 文件類型宣告(XHTML DOCTYPE declaration)。

您可以在 W3School 的標籤參考手冊中找到完整的 XHTML 文件類型。

<html>, <head>, <title>, and <body> 元素也必須存在,並且必須使用 <html> 中的 xmlns 屬性為文件規定 xml 命名空間。

下面的範例展示了帶有最少的必要標籤的 XHTML 文件:

<!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/1999/xhtml">
<head>
<title>Title of document</title>
</head>
<body>
...... 
</body>
</html>
#

XHTML 元素必須合理嵌套

在HTML 中,有些元素可以不互相嵌套,像這樣:

<b><i> This text is bold and italic</b></i>

在XHTML 中,所有的元素都必須互相合理地嵌套,像這樣:

<b><i>This text is bold and italic</i></b>


XHTML 元素必須有關閉標籤

錯誤範例:

<p>This is a paragraph
<p>This is another paragraph

正確範例:

<p>This is a paragraph</p>
<p>This is another paragraph</p>

空元素必須包含關閉標籤

錯誤範例:

A break: <br>
A horizontal rule: <hr>
An image: <img src="../style/images/happy.gif" alt="Happy face">
正確範例:
A break: <br />
A horizontal rule: <hr />
An image: <img src="../style/images/happy.gif" alt="Happy face" />

XHTML 元素必須是小寫

錯誤範例:

<BODY>
<P>This is a paragraph</P>
</BODY>
正確範例:
<body>
<p>This is a paragraph</p>
</body>

#屬性名稱必須是小寫

錯誤範例:

<table WIDTH="100%">
## 正確範例:

<table width="100%">

屬性值必須有引號

錯誤範例:

#
<table width=100%>
正確範例:
<table width="100%">

不允許屬性簡寫

錯誤範例:

<input checked>
<input readonly>
<input disabled>
<option selected>
正確範例:

<input checked="checked">
<input readonly="readonly">
<input disabled="disabled">
<option selected="selected">

如何將HTML 轉換成 XHTML

  1. 新增一個XHTML <!DOCTYPE> 到你的網頁中

  2. 新增xmlns 屬性加入到每個頁面的html元素中。

  3. 改變所有的元素為小寫

  4. #關閉所有的空元素

  5. 修改所有的屬性名稱為小寫

  6. 所有屬性值新增引號


#使用W3C 驗證器來測試你的XHTML

#