2016年3月20日 星期日

XHTML V.S HTML

HTML是什麼?


Hypertext Markup Language 超文字標記語言 
一種利用純文字的方式來進行幕後版排的方式,HTML 就是網頁的原始碼呈現的方式之一,可以利用連結的方式,移動到所需要的頁面。 
HTML是什麼? 是一種幕後排版的方式之一 
主要的開啟方式: 排版完成後:瀏覽器 排版時(純文字模式)

HTML 只是一個很普通的文字檔。所以任何平台都可以輕易的編修。
只要依照標準進行撰寫,所有的平台都可以順利的讀取顯示出作者想要表現的畫面。




XHTML  V.S  HTML

HTML語法要求比較鬆散     XHTML是一種進階且更嚴格規則的與法

對於機器來說,語言的語法越鬆散,處理起來就越困難

XML文件的宣告
首先必須在文件第1行宣告此文件為XML文件。version屬性定義XML的版本,encoding屬性定義符號化使用的文字碼(Default值為萬用碼UTF-8UTF-16)
<?xml version="1.0" encoding="Big5"?>

文檔宣告(Document Type Difinition)
不同的文檔宣告(Document Type Difinition),可以使用的元素和屬性不同。XHTML1.0的版本可以指定Transitional DTDFrameset DTDStrict DTD3種。但是到XHTML1.1的版本,只保留嚴密型Strict DTD的文檔宣告。因此,建議採用嚴密型Strict DTD的文檔宣告。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

追加xmlns屬性和xml:lang屬性
html元素追加xmlns屬性設定XMLName SpaceXHTML 1.0版的Name Space"http://www.w3.org/1999/xhtml"。加上xml:lang屬性則是設定xml語言碼,考慮一些沒有對應xml:lang屬性的UA環境,建議也加入lang屬性的設定。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-tw" lang="zh-tw">

必須要有終止tag
HTML的一些元素(lipdtddtrthtd等元素)不需要終止tag,但是較嚴密的XTHL必須要有終止tag。然而空元素(areabrhrimginputmeta等元素)本身就不需終止tag,加上終止tag雖然沒有問題,更簡潔的表示方法就是在開始tag的元素後面加上(/),表示終止。
<ol><li>....<li>...</ol> → <ol><li>....</li><li>...</li></ol>
<hr> →  <hr />

屬性和元素必須是小寫
HTML記述元素和屬性無論是大寫和小寫皆可以,沒有區別。嚴密XML對大小寫都有嚴格的區別,因此XMTML的屬性和元素必須是小寫
<P STYLE = "WIDTH:10PX;">屬性和元素大寫是不會被XHTML接受</P>

屬性值必須使用引號括弧起來
HTML的屬性值除了含有(.)(:)(_)(-)等一些符號,不用使用引號括弧起來。但是,XHTML所有的屬性值都必須用使用單引號('')或雙引號("")括弧起來,一般習慣使用雙引號("")
<p style = "width:10px;">屬性值必須使用引號括弧起來</P>

屬性值不能省略
HTML的一部份的屬性值沒有屬性值(checkedselectednowrapdisablednoresize等屬性),但是XHTML必須要有屬性值,其屬性值和屬性名稱相同。
<input type = "radio" checked = "checked" />
<option value = "F" selected= "selected" >F</option>

id屬性取代name屬性
HTML的一部份的元素(aappletframeformiframeframemapimg等元素)可以使用name屬性,但是XHTML1.0不採用name屬性,將由id屬性取代。
<h3 id = "top">XHTMLHTML</h3>
...
<a href="#top">top</a>

script元素和style元素的對應
HTML4.0的規格,為了沒有對應script元素style元素UA環境,使用comment宣告<!-- -->跳脫不顯示scriptstyle的內容。XTML則是使用CDATA(Character DATA)section<![CDATA[ ]>,使其變成不會去解析的文字資料。但是目前沒有對應CDATA的環境還很多,因此將script元素和style元素的內容做成外部檔案(例如*.js*.css),從文件中呼叫這些外部檔案的方式,就能夠解決。
<link rel="stylesheet" type="text/css" href="stylesheets/xx.css"/>
<script type="text/javascript" src="javascript/xx.js"></script>


元素包含內容的限制
XHTML的部分元素(abuttonformlabelpre)包含內容有限制,詳細請參照各元素的說明。元素也不可以交錯包含。
<h3>XHTML的限制<p>XHTML的元素不能交錯包含</h3></p>

沒有留言:

張貼留言