HTML與XHTML的區(qū)別夢之都HTML與XHTML的區(qū)別一節(jié)主要是翻譯了w3c的 Differences with HTML 4 文章. 引用網(wǎng)址:http://www./xhtml/html_xhtml/ XHTML文檔必須具有良好完整的排版(well-formed)編排良好性(Well-formedness)是XML引入的一個新概念.從本質(zhì)上說,元素必須有結(jié)束標(biāo)簽,或者必須以特殊方式書寫,而且元素必須嵌套. 盡管SGML規(guī)定重疊(overlapping)是非法的,但現(xiàn)有的瀏覽器普遍允許重疊. 正確:嵌套元素(nested elements)
不正確:層疊元素(overlapping elements) <p>夢之都 <em>XHTML教程</p>.</em> 元素和屬性名必須小寫對于所有HTML元素和屬性名, XHTML文檔必須使用小寫. 因為XML是大小寫敏感的.如 對非空元素,必須使用結(jié)束標(biāo)簽在基于SGML的HTML4中的一些隱含結(jié)束意義的元素允許忽略結(jié)束標(biāo)簽.XML不允許忽略結(jié)束標(biāo)簽.除了在DTD中被聲明為空的元素,所有元素必須有結(jié)束標(biāo)簽. 正確:結(jié)束的元素(terminated elements)
不正確:未結(jié)束的元素(unterminated elements) <p>夢之都的XHTML教程.<p>夢之都的CSS教程. 屬性值必須在引號中所有的屬性值必須在引號中,即使是以數(shù)字形式的屬性值 正確:在引號中的屬性值(quoted attribute values)
不正確:不在引號中的屬性值(unquoted attribute values) <table rows=3> 屬性最小化XML不支持屬性最小化.屬性-屬性值必須完整成對的寫出.像disabled,checked這樣的屬性名不能在不指定屬性值的情況下出現(xiàn). 正確:非最小化屬性(unminimized attributes)
不正確:最小化屬性(minimized attributes) <input checked> 空元素空元素必須有結(jié)束標(biāo)簽,或者起始標(biāo)簽必須以/>結(jié)束.例如,<br/>或<hr></hr>.參看HTML兼容性指導(dǎo)HTML Compatibility Guidelines中的信息,以保證向后兼容HTML 4用戶代理程序. 正確:結(jié)束的空元素(terminated empty elements)
錯誤:未結(jié)束的空標(biāo)簽(unterminated empty elements) <br><hr> 屬性值中的空白字符處理用戶代理處理屬性值時將根據(jù)XML的下面方法操作Section 3.3.3:
Script and Style 元素XHTML中,
CDATA部分被XML處理器識別,表現(xiàn)為文檔對象模型中的一個結(jié)點.參看Section 1.3的DOM LEVEL 1推薦標(biāo)準(zhǔn)[DOM]. SGML排斥SGML給作者的DTD可以指定在一個元素內(nèi)部禁止出現(xiàn)的元素.這樣的禁止在XML中是不可能的. 例如,嚴(yán)格的HTML 4 DTD"禁止"任何深度的'a'元素對另一'a'元素的嵌套.在XML中無法寫出這些的"禁止".雖然這些禁止不能被定義在DTD中,但是一些元素不應(yīng)該被嵌套.對不能被嵌套的元素Element Prohibitions的總結(jié). 具有'id'和'name'屬性的元素HTML4定義了 在XML中,片段標(biāo)識符是ID,每個元素只能有一個ID類型的屬性.因此,在XHTML1.0中,id屬性被定義為ID類型.為保證XHTML1.0文檔是結(jié)構(gòu)良好(well-structured)的XML文檔,在定義一個片段標(biāo)識符時,XHTML文檔必須使用id屬性,即使是對那些以前用name屬性的元素.參看 HTML Compatibility Guidelines,確保XHTML文檔以text/html媒體類型使用時,這些"錨(anchors)"能向后兼容. 注意,在XHTML 1.0中, 最后,夢之都做個總結(jié):
|
|