XHTML 語法規則及 HTML/XHTML(XHTML 1.0/XHTML 1.1 和 HTML 4.01/HTML 5) 文檔類型說明

文章目錄

  • 前言
  • 一、XHTML 語法規則
  • 二、XHTML、HTML 文檔類型說明
  • 三、XHTML 文檔類型
    • 3.1、XHTML 1.0 過渡類型(Transitional)
    • 3.2、XHTML 1.0 嚴格類型(Strict)
    • 3.3、XHTML 1.0 框架類型(Frameset)
    • 3.4、XHTML 1.1
  • 四、HTML 文檔類型
    • 4.1、HTML 4.01 Strict
    • 4.2、HTML 4.01 Transitional
    • 4.3、HTML 4.01 Frameset
    • 4.4、HTML 5
  • 總結


前言

可擴展超文本標記語言(英語:eXtensible HyperText Markup Language,XHTML),是一種標記語言,表現方式與超文本標記語言(HTML)類似,不過語法上更加嚴格。從繼承關系上講,HTML 是一種基于標準通用標記語言(SGML)的應用,是一種非常靈活的置標語言,而 XHTML 則基于可擴展標記語言(XML),XML 是 SGML 的一個子集。XHTML 1.0 在 2000 年 1 月 26 日成為 W3C 的推薦標準。通過本文我們將進一步了解 XHTML 語法規則及 HTML/XHTML(XHTML 1.0/XHTML 1.1 和 HTML 4.01/HTML 5) 文檔類型說明的發展歷史。

在這里插入圖片描述


我們都知道 XHTML 是 HTML 向 XML 發展的一種過渡技術,它是使用 XML 的規則對 HTML 4.0 進行的擴展。

一、XHTML 語法規則

標準的 XHTML 遵循嚴格的 XML 語法規則。這些規則主要如下:

  1. 文檔之首必須使用 DOCTYPE 聲明。
  2. 文檔的根元素必須是 html,并且必須為其指定命名空間,例如:
 <html xmls="http://www.w3.org/1999/xhtml">
  1. 元素必須正確嵌套。即當有標記嵌套使用時,必須先結束里層的標記,再結束外層的標記,例如:
<b>標記嵌套<font color="red">錯誤!</b></font>
<b>標記嵌套<font color="red">正確!</font></b>
  1. 標記必須成對使用。每個元素都必須有結束標記,除非在 DTD 中將其聲明為 EMPTY。對于單標記,必須在開始標記的右尖括號前加一反斜線,如<br/>
  2. 標記名和屬性名必須小寫。
  3. 屬性值必須用引號括起來,并且引號必須在英文狀態下輸入。
  4. 每個屬性都必須有屬性值。HTML 標記的屬性可以沒有值,而 XHTML 規定所有屬性都必須有一個確定的值,沒有值得以屬性名作為屬性值,例如:
 <input type="checkbox" name="shirt" value="short" checked="checked">
  1. 使用 id 作為標記的標識屬性。
  2. <script>和<style>標記必須設置 type 屬性。

二、XHTML、HTML 文檔類型說明

規范的 HTML/XHTML 文檔需要以<!DOCTYPE>標記開始。DOCTYPE 是 document type 的簡寫,主要用來說明所使用的 XHTML 或者 HTML 是什么版本,以及按什么規范來解析網頁。

解析規范由 DOCTYPE 定義的 dtd(文檔類型定義)所指定,dtd 規定了使用通用標記語言的網頁語法。

三、XHTML 文檔類型

XHTML 1.0 提供了以下 3 種類型的 DOCTYPE。

3.1、XHTML 1.0 過渡類型(Transitional)

該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。

基本格式如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

3.2、XHTML 1.0 嚴格類型(Strict)

該 DTD 包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。必須以格式正確的 XML 來編寫標記。

基本格式如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

3.3、XHTML 1.0 框架類型(Frameset)

該 DTD 等同于 XHTML 1.0 Transitional,但允許框架集內容。

基本格式如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd">

3.4、XHTML 1.1

該 DTD 等同于 XHTML 1.0 Strict,但允許添加模型(例如提供對東亞語系的 ruby 支持)。

基本格式如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

四、HTML 文檔類型

4.1、HTML 4.01 Strict

該 DTD 包含所有 HTML 元素和屬性,但不包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。

基本格式如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

4.2、HTML 4.01 Transitional

該 DTD 包含所有 HTML 元素和屬性,包括展示性的和棄用的元素(比如 font)。不允許框架集(Framesets)。

基本格式如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd">

4.3、HTML 4.01 Frameset

該 DTD 等同于 HTML 4.01 Transitional,但允許框架集內容。

基本格式如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" 
"http://www.w3.org/TR/html4/frameset.dtd">

4.4、HTML 5

基本格式如下:

<!DOCTYPE html>

總結

本文簡單總結了 XHTML 語法規則以及 HTML/XHTML 文檔類型說明。現在 HTML 5 基本普及,也給我們程序員帶來很多便捷,我們無須再去記一堆約束信息。雖然大多時候都是 IDE 生成的,我們也需要對這個發展歷史做一個簡單的了解。

在這里插入圖片描述


我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/530739.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/530739.shtml
英文地址,請注明出處:http://en.pswp.cn/news/530739.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Eclipse 答疑:代碼版權?如何更改 Eclipse 中注釋塊的 @author 版權信息?

文章目錄前言一、打開需要進行版權標注的類二、進入配置頁面三、編輯配置信息四、測試總結前言 我們在使用 IDE——Eclipse 進行開發時&#xff0c;在需要注明版權信息的時候&#xff0c;如果不更改默認設置的話&#xff0c;在注釋塊 author 的內容就是電腦系統默認的&#xff…

Java 修飾符詳解:吐血整理,帶你從底層語法和開發案例疏通這 11 種常見修飾符

文章目錄前言一、11 種常見的 Java 修飾符1.1、修飾符應用表1.2、修飾符訪問權限對比二、public 修飾符2.1、public 修飾符語法說明2.2、public 修飾符開發應用三、private 修飾符3.1、private 修飾符語法說明3.2、private 修飾符開發應用四、protected 修飾符4.1、protected 修…

Java 反射機制詳解:私有方法調用頭大?如何通過反射調用類中的私有方法?

文章目錄前言一、私有方法在本類中直接調用1.1、在本類中實例化&#xff0c;調用私有方法1.2、嘗試在其他類直接調用私有方法&#xff08;錯誤示范&#xff09;二、使用反射實例化類強制調用私有方法2.1、使用類加載器加載被調用的類2.2、使用 Object 類對獲取的類進行實例化2.…

jQuery 遍歷:思路總結,項目場景中如何處理/控制獲取的 each 遍歷次數?

文章目錄前言一、項目場景分析二、實體類定義描述&#xff08;僅關鍵代碼&#xff09;2.1、實體類定義描述2.2、邏輯處理與分析2.3、遍歷數據如何修改的問題暴露三、處理思路3.1、源碼分析 jQuery 中的 each 遍歷3.2、如何解決 jQuery 中控制獲取 each 的遍歷次數總結前言 前臺…

JavaScript 事件:Web 表單如何實現禁用右鍵、復制粘貼/剪切和輸入框自動填充?

文章目錄前言一、禁用鼠標右鍵1.1、分析說明1.2、操作原理1.3、實現效果1.4、實現代碼1.5、補充&#xff1a;JS 中的 button 事件屬性二、禁用復制粘貼2.1、分析說明2.2、實現代碼三、禁用輸入框自動填充功能3.1、分析說明3.2、實現效果3.3、實現代碼總結前言 我們在項目中&…

MySQL 模糊查詢:MySQL 數據庫 like 語句通配符模糊查詢小結

MySQL 報錯&#xff1a;Parameter index out of range (1 &#xff1e; number of parameters, which is 0)——MySQL 數據庫 like 語句通配符模糊查詢小結 文章目錄MySQL 報錯&#xff1a;Parameter index out of range (1 &#xff1e; number of parameters, which is 0)——…

內網擊穿之 HTTP 穿透:網站沒上線?如何讓全世界的人都可以訪問你本地的網站?

文章目錄前言一、內網穿透原理與工具介紹1.1、內網穿透工作原理1.2、內網穿透工具介紹二、啟動內網穿透工具2.1、命令及配置介紹2.2、查看映射信息三、進行訪問測試3.1、遠程訪問本地站點資源3.2、關閉內網穿透總結前言 對于大多數程序員來說&#xff0c;網站一經開發測試后&am…

SSM 整合 3:一個 Spring 入門程序帶你來了解什么是控制反轉(IoC)/依賴注入(DI)?

文章目錄 前言一、使用 Eclipse 創建動態 Web 項目并導入所需 jar 包二、創建接口 TestDao 和實現類2.1、創建接口 TestDao2.2、創建接口的實現類 TestDaoImpl三、創建 Spring 配置文件 applicationContext.xml3.1、如何從官方文檔找配置文件約束信息四、創建測試類并輸出運行結…

軟件設計原則:內聚、耦合有哪幾種類型?內聚度、耦合度如何比較?

文章目錄前言一、何為內聚&#xff1f;1.1、7 種內聚類型及其描述二、何為耦合&#xff1f;2.1、7 種耦合類型及其描述總結前言 高內聚、低耦合是我們在軟件設計過程中必須遵循的一個重要原則&#xff0c;在整個軟件工程中占有很大的比重。而對于內聚和耦合你還是僅僅局限于“高…

數據庫管理工具:如何使用 Navicat Premium 轉儲(導出)和運行(導入)*.sql 文件?

文章目錄前言一、轉儲&#xff08;導出&#xff09;數據庫 SQL 文件1.1、選擇“轉儲 SQL 文件”1.2、選擇導出文件存放位置1.3、查看轉儲 SQL 文件界面1.4、查看 SQL 輸出文件1.5、查看輸出文件詳情信息二、運行&#xff08;導入&#xff09;數據庫 SQL 文件2.1、新建數據庫2.2…

JSP 編譯原理:JSP 是 Servlet?如何用 Eclipse 查看 JSP 編譯生成的 Servlet 源文件?

文章目錄前言一、JSP 文件編譯流程原理二、創建并運行待測試 JSP 頁面三、查找 JSP 編譯文件輸出位置3.1、打開動態項目運行配置3.2、查看 JSP 編譯文件輸出位置3.3、查看 JSP 編譯輸出文件四、JSP 編譯輸出 Servlet 的論證五、訪問 JSP 文件的流程總結前言 相信大家都了解&…

MVC 模式/Servlet/JSP 編譯原理剖析:Servlet 組件到底屬于 MVC 模式的哪一層?

文章目錄前言一、回憶什么是 MVC 模式&#xff1f;1.1、Model、View、Controller 組件介紹1.2、明確 View 與 Controller 組件區別二、什么是 Servlet&#xff1f;2.1、Servlet 的組件定義2.2、Servlet 組件處于 Controller 層&#xff1f;三、老師說 Servlet 是 View 層的&…

操作系統原理:進程 PV 操作如何計算?全網最全三種前驅圖計算類型總結

文章目錄前言一、PV 操作定義1.1、P 操作定義1.2、V 操作定義二、串聯進程&#xff08;單線前驅圖&#xff09;2.1、什么是單線前驅圖&#xff1f;2.2、如何計算單線前驅圖的 PV&#xff1f;2.2.1、計算前驅節點 PV2.2.2、計算中間節點 PV2.2.3、計算尾節點 PV三、并聯進程&…

Spring 容器:三種方式解決 Resource leak: ‘applicationContext‘ is never closed 問題

文章目錄前言一、Spring 容器警告產生的場景二、Spring 容器未關閉后果分析2.1、肉眼可見的警告2.2、導致的內存泄漏2.2.1、什么是內存泄漏&#xff1f;2.2.2、如何判斷內存泄漏&#xff1f;2.2.3、Java 中的 GC&#xff08;垃圾回收&#xff09;2.2.4、Java 中會導致內存泄漏的…

SSM 整合 4:Spring IoC 容器基于的兩個重要接口 BeanFactory 和 ApplicationContext

文章目錄 前言一、BeanFactory 接口1.1、加載 Spring 配置文件創建 BeanFactory 接口實例1.2、開發中的運用以及使用說明二、ApplicationContext 接口2.1、ClassPathXmlApplicationContext 創建接口實例2.2、FileSystemXmlApplicationContext 創建接口實例2.3、通過 Web 服務器…

SRA 案例:關于華為開發者聯盟基礎服務文檔內容的改進建議(華為開發者聯盟文檔深度體驗官)

文章目錄前言一、文檔中心的外鏈跳轉問題1.1、問題描述1.2、造成的問題1.3、改進建議二、圖片失真和無法放大查看問題2.1、問題描述2.2、造成的問題2.3、改進建議三、個別 SDK 詞匯缺少必要的說明3.1、問題描述3.2、造成的問題3.3、改進建議四、郵箱信息的優化4.1、問題描述4.2…

騰訊位置服務:有何優勢?如何使用平臺創建應用和服務調用的 Key?

文章目錄前言一、騰訊位置服務的優勢1.1、提供豐富的地圖產品1.2、提供行業解決方案1.3、提供其他生態維度的支持1.4、海量的數據基礎1.5、豐富的開發文檔二、初識騰訊位置服務2.1、用戶的注冊與登錄&#xff08;附專屬邀請碼&#xff09;2.2、開發者信息的完善三、創建服務平臺…

畢業生當頭一棒?憶本科四年,高校畢業生與就業單位基本要求差多少?工作還是考研?

文章目錄前言一、大學本科前兩年的生活1.1、庸庸碌碌、中規中矩1.2、收獲了愛情二、大三的改變2.1、學會自律2.2、學會自我總結2.3、眼光要具有前瞻性三、畢業答辯3.1、個人設計答辯3.2、團隊設計答辯四、南京之行4.1、銘記歷史&#xff0c;感恩先輩4.2、加強自我認知與提升五、…

Gitee 答疑:為什么從 Gitee 平臺 Pull 代碼到 STS/Eclipse 后文件亂碼?逐步排查

文章目錄前言一、產生亂碼場景1.1、錯誤描述1.2、解決思路二、解決方式2.1、檢查 Git 平臺上的源碼2.2、Git 的運行原理2.3、修改 IDE 的文本編碼格式2.4、重新打開目的文件問題解決2.5、仍存在問題看這里&#xff08;重新拉區合并&#xff09;總結前言 我們從 Gitee 平臺 Pull…

flash 異常修復:QQ 的 flash 圖標顯示異常?QQ 秀、表情加載異常?一招解決

文章目錄前言一、產生錯誤場景1.1、flash 圖標顯示異常1.2、解決思路二、安裝合適版本的 Flash Player2.1、選擇合適版本的 Flash Player2.2、安裝 Flash Player三、重啟 QQ 客戶端四、flash 動畫加載異常4.1、動畫加載異常原因分析4.2、下載安裝 flash 修復工具4.3、使用 Flas…