前加一個空格,如 , 和 . 還有,使用最小化的標簽語法,如,因為另一種XML允許的語法 在很多" />
一些用戶代理程序會顯示處理說明。但是,注意當文檔中沒有XML聲明時,文檔只能用缺省的字符編碼UTF-8 或 UTF-16。
2 空元素
在空元素結束符 / 和 > 前加一個空格,如
,
3 元素最小化和空元素內容
內容模型不是空的元素,在為空的場合(如空title或空段落),不要用最小化形式(如 用 ,不用
).4 嵌入的樣式表和Script
如果你的樣式表使用 < 或 & 或 ]]> 或 --,用外部樣式表。如果你的script用 < 或 & 或 ]]> 或 --,用外部script。 注意XML分析程序會在不告知的情況下除去注釋的內容。因此,以前用注釋的方法”隱藏”script和樣式表的習慣使文檔可以向后兼容,但是可能在基于XML的執行時不能按預期工作。
5 在屬性值內部分行
在屬性值中避免使用分行和多個空格符。用戶代理程序處理這些情況時不一致。
6 Isindex
在文檔的head部分不要使用超過一個 isindex 元素. isindex 元素不被贊成使用,贊成使用input元素。
7 lang 和 xml:lang 屬性
在指定元素的語言時同時使用 lang 和 xml:lang 屬性。xml:lang 屬性在前。
8 片段標識符
在 XML中,以"#foo"形式結束片段標識符URI [RFC2396] 不是指元素有一個屬性name="foo",而是指元素有一個被定義為ID類型的屬性,如,HTML 4中的id屬性。很多HTML客戶程序不以這種方式支持ID類型屬性,所以,可以將相同的值同時附給這兩個屬性,以保證最大程度的向后和向前兼容。(如 ...).
此外,因為ID類型屬性的合法值集比CDATA類型屬性的值集小得多,name屬性被改為NMTOKEN。這個屬性被限制為只有和ID類型或XML1.0 2.5節中的Name產品同樣的值。不幸的是,XHTML的DTD不能表示出這個限制。因為這個改變,在轉換現有的HTML文檔時要加以注意。 如果在轉換時值可能會改變,這些屬性的值在文檔中必須是唯一的,有效的,任何對這些片段標識符的引用(不管是內部還是外部)必須更新。
最后,注意不贊成在 a,applet,form,frame,iframe,img,和 map 元素中使用name屬性,在以后的XHTML版本中,它將被去除。
9 字符編碼
要指定文檔中的字符編碼,同時在xml聲明中使用編碼屬性指定 (如. ) 和在meta中用 http-equiv 語句 (如 ).xml處理指令的編碼屬性值在前。
10 布爾屬性
一些HTML用戶代理程序在布爾屬性以完全(非最小化)形式出現時不能解釋它們,而這是XML1.0必須的。注意這個問題不會影響用戶代理程序對HTML 4的兼容。包括以下一些屬性: compact,nowrap,ismap,declare,noshade,checked,disabled,readonly,multiple,selected,noresize,defer.
11 文檔對象模型和 XHTML
文檔對象模型 level 1 推薦標準 [DOM] 定義XML和HTML 4的文檔對象模型。 HTML 4 文檔對象模型規定HTML元素名和屬性名以大寫形式返回。XML文檔對象模型規定元素名和屬性名以它們被指定的形式返回。在 XHTML 1.0中,元素和屬性指定為小寫形式。對這個顯著的差別可以用兩種方式處理:
通過DOM訪問text/html internet媒體類型XHTML文檔的應用程序可以使用HTML DOM,還可以依賴這些界面返回的大寫的元素名和屬性名。
通過DOM訪問text/xml或application/xml internet媒體類型XHTML文檔的應用程序也可以使用XML DOM. 元素名和屬性名將以小寫形式返回。 并且,一些 XHTML 元素可以也可以不出現在對象樹中,因為在內容模型中它們是可選的(如table中的 tbody 元素). 在HTML 4中,一些元素可以允許被最小化以至于它們的開始標簽和結束標簽都被忽略(SGML特性),所以可以發生。但是在XML中不行。XHTML使元素成為可選的,而不是要由文檔作者來插入外來元素。相應地,應用程序需要適應這一點。
12 在屬性值中使用 &
在屬性值中含有&符號時,它必須用字符實體引用來表示 (即 "&"). 例如,當一個元素的 href 屬性指向一個接收參數的 CGI腳本時,它必須表示為http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user,而不是 http://my.site.dom/cgi-bin/myscript.pl?class=guest&name=user.
13 層疊樣式表和XHTML
層疊樣式表 level 2推薦標準 [CSS2] 定義style的屬性,用于分析HTML和XML文檔的樹形結構。分析時的不通將導致不同的視覺或聽覺效果,這依賴于使用的選擇器。
下面的技術可以減少對文檔的這種影響,而用不修改這兩中媒體類型:
一、XHTML的CSS樣式表應該用小寫的元素和屬性名。
二、在table中,tbody 元素會被HTML用戶代理程序的分析器推斷出,但是XML用戶代理程序的分析器不會這么做。所以如果在CSS選擇器中要被引用到,你應該總是明晰地加上tbody元素。
三、在XHTML 名址空間,用戶代理程序將把”id”屬性認作為一個ID類型的屬性。因此,即使用戶代理程序不能認出DTD,樣式表也應該能夠繼續使用”#”簡化選擇器語法。
四、在XHTML 名址空間,用戶代理程序將識別class屬性,因此,樣式表應該能構繼續使用”.”簡化選擇器語法。
五、CSS 定義HTML和XML文檔的不同一致性標準; 在XHTML文檔以HTML表達時,用HTML規則,在XHTML文檔以XML表達時,用XML規則。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com