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.mzph.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…

软件设计原则:内聚、耦合有哪几种类型?内聚度、耦合度如何比较?

文章目录前言一、何为内聚&#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 中会导致内存泄漏的…

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…

电脑广告多?Windows 自带恶意软件删除工具还不会使用?有必要安装杀毒软件吗?

文章目录前言一、启动恶意软件删除工具二、扫描类型的选择三、启动软件扫描四、恶意软件删除工具的说明五、对于恶意软件处理的建议总结前言 可能有些小伙伴发现&#xff0c;哎&#xff1f;为什么我的电脑弹窗广告这么多&#xff1f;难不成小视频看多了&#xff1f;电脑中毒了&…

《软件项目管理(第二版)》第 8 章——项目团队与干系人 重点部分总结

文章目录 前言一、简答题二、论述题总结前言 学习了项目的开发与发布之后,我们就可以单独对一个项目进行开发了,但是在企业中开发中,除了编码之外,还需要项目管理、团队协作开发等,这就是软件项目管理板块要学习的内容。本文是对《软件项目管理(第二版)》第 8 章——项目…