XHTML是W3C推薦的一種標准,它定義了一種與XML兼容的HTML版本。XHTML文檔是一個有效的XML文檔,所以編寫格式比HTML嚴格。
XHTML是W3C推薦的一種標准,它定義了一種與XML兼容的HTML版本。XHTML文檔是一個有效的XML文檔,所以編寫格式比HTML嚴格。如果需從HTML文檔轉換成XHTML文檔,需作以下更改:
本文由(http://www.jb51.net)整理發布!轉載請注明出處,謝謝!
在XHTML中不允許省略結束標簽,所以需補齊缺少的標簽。
元素需按正確的順序嵌套。
所有元素和屬性的名稱都采用小寫。
屬性值需添加引號,如<p align="center">。
所有屬性都需有屬性值。
采用&和<等的實體形式表示這些字符。
確保文檔有單一根元素,最好用html。
像<hr>這樣的空元素要改成<hr/>或<hr><hr/>。
注釋應由<! 注釋 >的形式改成<!-- 注釋 -->。
文檔編碼應采用UTF-8或UTF-16,或者添加XML聲明指定文檔的編碼方式。
需去掉非標准的元素。如:marguee。
添加一個DOCTYPE聲明,用PUBLIC來指向XHTML的三種DTD中的一種。分別是Strict、Transitional和Frameset,一般使用Strict。
Strict(嚴格型),W3C推薦的XHTML形式。不包括一些非標准的元素和屬性,如applet和center等。聲明方式如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Transitional(過渡型),一種不太嚴格的XHTML格式,可使用一些非標准的元素和屬性,如applet和bgcolor等。聲明方式如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Frameset(框架型),與過渡型DTD類似,允許使用與框架相關的元素,如frameset和iframe。聲明方式如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
文檔的根元素必須具有xmlns屬性,標識缺省的名稱空間提http://www.w3.org/1999/xhtml。
下面是一個標准的XHTML文檔的示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:"http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
<title>xhtml example</title>
</head>
<body>
...
</body>
</html>
由HTML轉到XHTML是一種枯燥而乏味的工作,現在有一種叫tidy的開源工具可幫我們完成大部份的工作,它是一個C程序,使用方法如下:
% tidy --output-xhtml yes test.html test.xml
XHTML 1.1把XHTML的三種DTD分成獨立模塊。我們可根據實際情況包含或省去某些模塊。這些模塊是:本文由(http://www.jb51.net)整理發布!轉載請注明出處,謝謝!
Structure Module(結構模塊)--->%xhtml-struct.module;,包含HTML文檔主要的元素,如:html、head、title和body。
Text Module(文本模塊)--->%xhtml-text.module;,包含文本的基本元素和其內聯元素,如:h1、h2、...、strong、span等。
Hypertext Module(超鏈接模塊)--->%xhtml-hypertext.module;,包含用於鏈接的元素,如:a元素。
List Module(列表模塊)--->%xhtml-list.module;,包含用於列表的元素,如:dl、dt、dd、ul、ol和li。
Applet Module(applet模塊)--->%xhtml-applet.module;,Java所需要元素,如:applet和param。
Presentation Module(表示模塊)--->%xhtml-pres.module;,面向表示的標記:b、big、hr、I、small、sub、sup和tt。
Edit Module(編輯模塊)--->%xhtml-edit.module;,用於修正的元素,如:del和ins。
Bidirectional Text Module(文本方向模塊)--->%xhtml-bdo.module;,用於指定文本閱讀的方向,如bdo元素。
Basic Forms Module(基本表單模塊)--->%xhtml-basic-form.module;,用於HTML 3.2的表單元素,如:form、input、select、option和textarea。
Forms Module(表單模塊)--->%xhtml-form.module;,用於HTML 4.0的表單元素,如:form、input、select、option、textarea、button、fieldset、label、legend和optgroup。
Basic Tables Module(基本表格模塊)--->%xhtml-basic-table.module;,基本的表格元素,如:table、caption、th、tr和td。
Table Module(表格模塊)--->%xhtml-table.module;,安全功能的表格支持,如:table、caption、th、tr、td、col、colgroup、tbody、thead和tfoot。
Image Module(圖像模塊)--->%xhtml-image.module;,包含img元素。
Client-side Image Map Module(客戶端圖像映像模塊)--->%xhtml-csismap.module;,包含map和area元素以及支持客戶端圖像映像所需要的元素的屬性。
Server-side-Image Map Module(服務器端圖像映像模塊)--->%xhtml-ssismap.module;,該模塊沒有添加新元素,但對img元素添加了一個ismap屬性。
Object Module(對象模塊)--->%xhtml-object.module;,用於在網頁中嵌入可執行內容,如:java程序。
Param Module(參數模塊)--->%xhtml-param.module;,網頁中可執行內容中傳遞參數的param元素。
Frames Module(框架模塊)--->%xhtml-frames.module;,包含實現框架所需的元素,如:frame、frameset和noframes。
Iframe Module(內聯框架模塊)--->%xhtml-iframe.module;,包含內聯框架的iframe元素。
Intrinsic Events(固有事件模塊)--->%xhtml-events.module;,支持如onSubmit和onFocus等腳本的屬性。
Meta-information Module(元信息模塊)--->%xhtml-meta.module;,包含meta元素。
Scripting Module(腳本模塊)--->%xhtml-script.module;,支持JavaScript等腳本。
Stylesheet Module(樣式表模塊)--->%xhtml-style.module;,用於定義CSS的style元素。
Link Module(鏈接模塊)--->%xhtml-link.module;,指定外部文件,如樣式表、庫等關系的link元素。
Base Modue(基模塊)--->%xhtml-base.module;,包含base元素,指定解析相對URL所參照的基URL。
Target Module(目標模塊)--->%xhtml-target.module;,用於指定目標框架或框架中某個窗口的target屬性。
Style Attribute Module(樣式屬性模塊)--->%xhtml-inlstyle.module;,將CSS樣式應用於文檔中單個元素的style屬性。
Name Identification Module(名稱標識模塊)--->%xhtml-nameident.module;,name屬性是id屬性的早期版本,現在不推薦使用。
Legacy Module(傳統模塊)--->%xhtml-legacy.module;,不推薦使用的元素和屬性,如:basefont、center、fonts、strike和u元素。
Ruby Module(Ruby模塊)--->%xhtml-ruby.module;,東亞文本中用於將少量文本放於正文文本旁邊的ruby、rbc、rtc、rb、rt和rp元素,一般用來指示發音。