一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

HTML和XHTML的不同

  1. MIME[1]類型(MIME Types)
  2. 解析(Parsing)
  3. 語法(Syntax)
  4. 標記(Markup)
  5. 字符編碼(Character Encoding)
  6. 腳本(Scripts)
  7. 樣式表(Stylesheets)

  請注意以下信息是基于(X)HTML5的當前規范,某些技術上問題并不適用于HTML的早先版本。

  雖然HTML和XHTML看起來在語法上類似,但在很多方面顯著的不同。 

注:由于當前的WHATWG[2]文檔是一個草案,這個部分需要跟隨一個變化的對象。標記@@@的不同是從理論上可以被改變且不影響向后兼容的不同。

  MIME類型(MIME Types)

  1. XHTML必須以XML MIME類型來提供,例如application/xml 或 application/xhtml+xml。
  2. HTML必須以text/html來提供。

      MIME類型決定了使用文件的類型。如果嘗試使用text/html來發送XHTML,你實際上僅使用了HTML,可能有語法錯誤。

    技術上,依據規范,XHTML1.0被允許作為text/html來發送。但是正是由于上面的原因,這樣的一個文件被認為是HTML文件而不是XHTML文件

      解析(Parsing)

      XHTML用XML解析請求。HTML用它自己定義的更接近當前瀏覽器實際處理HTML的方式。

    1. 在XHTML中,良構性(well-formedness)錯誤是致命的。在HTML中,錯誤處理規則更加優雅。良構性錯誤在HTML也是語法錯誤,包括以下:
      1. 未編碼的和符號(&替代&amp;)和小于符號(<替代&lt;)(這并不應用于CDATA)。(注:在HTML中,未編碼的和符號在一些情況下是被允許的。)
      2. 注釋包含額外的連接字符或以一個連接字符結尾。例如:<!--語法--錯誤--> or <!--語法錯誤--->
      3. 不匹配結束標簽。(不適用于可選標簽元素)
      4. 不閉合標簽。
      5. 非法字符出現在屬性名稱前或中。
      6. 文件結束(EOF)意外發生。
      7. 非法的字符出現在DOCTYPE名前。
      8. 丟失DOCTYPE名。
      9. 在DOCTYPE中PUBLIC標識符沒有SYSTEM標識符。(注:在HTML5中包含這些中的任何一個是語法錯誤,在XML中允許唯一的SYSTEM標識符出現在它自己中。)
      10. 有屬性的結束標簽。
      11. 非法結束標簽。(在HTML中,一個非法的</br>和</p>會導致產生隱含在它之前的開始標簽。)
    1. 內部子集在XML中是允許的,在HTML中是無意義的(且被禁止)
      1. 在一些情況下,HTML中的內部子集最終部分內聯呈現。
    2. 當符號序列“]]>”在內容中不標記一個CDATA段的結束時,在XHTML中是一個良構性錯誤,但在HTML中是有效的。
    3. <![CDATA[...]]>,在XHTML中是一個CDATA片段,在HTML中是一個偽造的注釋。
    4. <?foo …?>,在XHTML中是一個處理指令,在HTML中是一個偽造的注釋。
    5. 在HTML中,用于空元素語法的尾部斜線在非空(non-void)元素(見下)中會有解析錯誤,但在所有情況下都被忽略。
    6. 在HTML中,script和style元素作為CDATA解析。(注:這個CDATA的定義不同于XML中的。)在XML中,它們作為普通元素解析(這意味著注釋被當著真正的注釋,看起來像起始標簽的就是起始標簽)。
    7. 在HTML中,title和textarea元素作為RCDATA被解析。(RCDATA定義不同于SGML中的,也不是XML的RCDATA.)
    8. 在HTML中,如果腳本執行(scripting)是可用,noscript元素作為CDATA被解析。如果腳本執行是不可用的,它作為PCDATA被解析。在XHTML中,這個元素是沒有作用的,當腳本執行不可用時,不能真正被用于阻止內容將要呈現。
    9. 在HTML中,iframe,noembed和noframes作為CDATA解析。在XHTML中作為普通元素被解析,因此不能阻止內容被使用。
    10. 在XHTML中屬性值的空格(white space)符被標準化為空白[3]
    11. 在HTML中,可選標簽的元素在特定情況下被隱藏。
    12. 在HTML中,在body中出現的帶標簽的title元素被轉移到head中。在XHTML中,它停在指定它的地方。
    13. 在HTML中,脫離上下文(context)出現的特定元素的標簽被忽略。包括:caption,col,colgroup,frame, frameset,head,option,optgroup,tbody,td,tfoot,th,thead,tr。
    14. plaintext在HTML中有一個特別的解析請求。(無論如何,它都是被禁止的。)
    15. 這并不是全部的在HTML中發生的邊界狀態和錯誤條件。

        語法(Syntax)

      1. 在HTML中,doctype是必須的。在XHTML中是可選的。
      2. 在XHTML中,標簽名和屬性名是大小寫敏感的。在HTML中,它們是不敏感的。
      3. 在XHTML中,非空元素必須有一個開始標簽和一個結束標簽。在HTML中,某些元素允許省略一個或兩個標簽。
        1. html (兩個)
        2. head (兩個)
        3. body(兩個)
        4. li (結束標簽)
        5. dt (結束標簽)
        6. dd (結束標簽)
        7. p (結束標簽)
        8. colgroup (兩個)
        9. thead (結束標簽)
        10. tbody(兩個)
        11. tfoot (結束標簽)
        12. tr (結束標簽)
        13. td (結束標簽)
        14. th (結束標簽)
      4. 在XHTML中,空元素可以用空元素語法(<br />)或一個結束標簽緊跟在開始標簽的后面(<br>&lt/br>)。在HTML中,空元素(empty elements)語法(尾部斜線)允許出現在空元素(void elements)上[4],但是禁止在非空元素上。無論如何,它沒有任何意義可言,可以省略。對于空元素,結束標簽是禁止的。
        1. base, link, meta, hr, br, img, embed, param, area, col 和 input。
        2. 注:在解析請求時,下面的元素被當作空元素對待,因為它們是過時和不標準的。尾部斜線是不允許的:basefont, bgsound, spacer,wbr(在任何方式下這些元素都是不允許的,所以它們沒有太多不同)。
      5. HTML允許屬性最簡化(minimisation),比如省略這個值,而XHTML不允許。
      6. HTML允許使用沒有引號的屬性值,而XHTML不允許。
      7. XHTML允許使用CDATA片段,而HTML不允許。
      8. XHTML允許處理指令,而HTML不允許。
      9. 在HTML中,所有實體引用(entity references)都是預定義的,不請求一個文檔類型定義(DTD[5])。但是由于XHTML5沒有DTD,實體引用不能用在XHTML中(包括5中預定義的實體:&ampamp;,&amplt;,&ampgt;,&ampquot; 和&ampapos;)。
        1. 可以用自己的驗證解釋器提供自己的DTD,但是瀏覽器不能使用這個驗證解析器而將無法讀取DTD。
      10. 一套合法的unicode字符集在XML1.0中的限制遠超在HTML中。
      11. XHTML允許命名空間前綴,但是HTML禁止。

          標記(Markup)

        1. 在XHTML中,命名空間聲明(xmlns屬性)是必須的。在HTML中的html元素也允許xmlns屬性出現,其值是”http://www.w3.org/1999/xhtml”。
          1. <html xmlns=”http://www.w3.org/1999/xhtml”>
          2. 在HTML中,xmlns沒有絕對作用。它基本上是一個護身符。它被允許僅僅是為了從XHTML移植過來更容易。當被HTML解析器解析時,這個屬性最終處于無效的(null)命名空間中。
          3. 在XML(和XML命名空間理解的解析器)中,xmlns屬性是其命名空間聲明機制的一部分,一個元素實際上在無效的命名空間中是不能有xmlns屬性的。當DOM執行時,這個屬性最終在”http://www.w3.org/2000/xmlns/”命名空間中。
        2. XHTML允許使用非XHTML元素和屬性(在不同的命名空間),HTML不允許。
        3. XHTML用xml:lang屬性,HTML用lang屬性代替。
        4. XML ID引入xml:id,能用在XHTML中,但在HTML中沒有作用。
        5. 在HTML中,noscript能被使用,在XHTML中,它是禁止的。
        6. HTML用base元素,XHTML用xml:base代替。
        7. 在XHTML中,p元素也許包含結構化的內聯級(inline level)元素,包括blockquote, dl, menu, ol, ul, pre 和 table。在HTML序列化中,由于向后兼容的限制,這是不可能的(雖然它或許可以通過DOM操作實現)。
        8. 在XHTML中,table元素或許包含子tr元素。在HTML序列化中,由于向后兼容的限制,這是不可能的(雖然它或許可以通過DOM操作實現)。

            字符編碼(Character Encoding)

          1. 在XHTML中,XML聲明被用于指定的字符編碼。在HTML中,禁止XML聲明。
          2. 在HTML中,帶有一個charset屬性的meta可以用于代替。在XHTML中,如果有包含它,它是被禁止且忽略的。
          3. XHMTL的默認編碼是依據XML規則,UTF-8或UTF-16。在HTML中如果沒有聲明編碼,它應該決定執行一個特別的啟發式的或退回到一個默認的值。(規范中本章節還未完成)

              腳本(Scripts)

            1. document.write()和document.writeln()不能用在XHTML中,但能用在HTML中。
            2. 在XHTML中,通過innerHTML屬性獲取的字符串必須是一個良構的XML片段。
            3. DOM APIs在XHTML中是大小寫敏感的,但是一些在HTML中是不敏感的。(不適用于那些不在HTML命名空間的元素。)
              1. Element.tagName, Node.nodeName,和 Node.localName 返回是大寫的值。
              2. Document.createElement()是大小寫不敏感的(規范寫法是小寫)。
              3. Element.setAttributeNode()將會把屬性名改成小寫。
              4. Element.setAttribute()是大小寫不敏感的(規范寫法是小寫)。
              5. Document.getElementsByTagName()和 Element.getElementsByTagName()是大小寫不敏感的。
              6. Document.renameNode()。如果新的命名空間是HTML命名空間,在重命名執行之前新的合格的名字必須是小寫。
            4. 在HTML中,Document.createElement()在HTML命名空間下創建一個元素。在XML(包括XHTML),這個被DOM2和DOM3定義的命名空間是空的。
              1. 在XHTML中,瀏覽器在這個領域缺乏通用性。在Firefox,這個命名空間依賴于MIME類型。在Opera它依賴于根元素,而在Safari,它一直是無效的。

                  樣式表(Stylesheets)

                1. 用于CSS中的選擇器(selectors)匹配在XHTML中是大小寫敏感的,在HTML中大小寫不敏感的。
                2. 在HTML中在畫布上渲染背景,CSS請求body元素的特殊處理,但不適用于XHTML。

                  原文: Differences Between HTML and XHTML

                  it知識庫HTML和XHTML的不同,轉載需保留來源!

                  鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

                  主站蜘蛛池模板: 成人黄色免费网址 | 一区二区三区在线免费视频 | 亚洲一区二区三区在线 | 久久91精品国产91久久跳舞 | 亚洲成在人色婷婷 | 国产精品免费_区二区三区观看 | 欧洲综合色 | 免费视频黄 | 成人午夜毛片 | 亚洲国产成人精品女人久久久 | 精品久久看| 91精品日韩 | 怡红院影院| 美女牲交视频一级毛片 | 国产精品青草久久福利不卡 | 久久综合伊人 | 色综合天天综合高清网国产 | 天天久久狠狠伊人第一麻豆 | 亚洲乱码在线观看 | avtt加勒比 | 亚洲狠狠97婷婷综合久久久久 | 日本不卡一区 | 国产精品第1页在线播放 | 精品视频一区二区三区在线观看 | 亚洲日本1区2区3区二区 | 一区二区三区精品 | 久久ww精品w免费人成 | 色美女影院 | 精品国产麻豆免费网站 | 噜噜噜 综合 亚洲 | 成人在线观看视频免费 | 日韩亚洲欧洲在线rrrr片 | 福利色播 | 91精品视频免费 | 麻豆视频导航 | 国产精久久一区二区三区 | 国产成人精品高清在线 | 激情文学小说区另类小说同性 | 色综合久久中文 | 视色 4se| 国产特黄一级毛片特黄 |