1      起源 

  SGML、HTML、XML、XHTML、HTML5
  从这五者的名字中,我们都可以看到 “ML” 这两个字母,所以我们先从 “ML” 说起。

  “ML”即 “Markup language(置标语言)”。根据维基百科对其的解释,“Markup language” 是用标准的标记来解释纯文本文档的内容,从而提供关于文档结构或文档该如何渲染的信息。置标语言的发展可以用下图来表示:

  

  GML 是第一代置标语言,使文档能明确将标示和内容分开,所以文件使用同样的标示方法。

  SGML 在 GML 的基础上进行整理,形成了一套非常严谨的文件描述方法。它的组成包括语法定义,DTD,文件实例三部分。SGML 因太严谨规范达500多页,故而不易学、不易用、难以实现,所以在它的基础上又发展出了其他的更易用的置标语言。

  HTML 是人们抽取了 SGML 的一个微小子集而提取出来的。其早期规范比较松散,但比较易学。

  XML 也是 SGML 的一个子集,但使用比较严格的模式。

  XHTML 的出现是因为HTML扩充性不好,内容的表现跟不上时代的变化(如无法表示某些化学符号等),以及因为性能的问题,官方逐渐趋于严格的模式,所以使用 XML 的严格规则的 XHTML 成了 W3C 计划中 HTML 的替代者。

  HTML 经过一系列修订,到现在说的 HTML 一般指 HTML 4.01;而现在的 HTML 5 则是 HTML 的第五个修订版,其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入。而HTML5本身并非技术,而是标准。它所使用的技术早已很成熟,国内通常所说的html5实际上是html与css3及JavaScript和api等的一个组合,大概可以用以下公式说明:HTML5≈HTML+CSS3+JavaScript+API.

2     定义和特点

(1)   XML

  XML是Extentsible Markup Language 可扩展标记语言

  XML是用来定义其他语言的一种元语言,其前身是SGML(标准通用标记语言)。它没有标签集(tag set),也没有语法规则(grammatical rule)。但 是它有句法规则(syntax rule)。

  不论什么XML文档对不论什么类型的应用以及正确的解析都必须是良构的(well-formed)。即每个打开的标签都必须有匹配的结束标签,不得含有次序颠倒的标签,而且在语句构成上应符合技术规范的要求。 XML文档能够是有效的(valid),但并不是一定要求有效。所谓有效文档是指其符合其文档类型定义(DTD)的文档。

  假设一个文档符合一个模式(schema)的规定 。那么这个文档是模式有效的(schema valid)。

(2)   HTML

  HTML是Hypertext Markup Language超文本链接标示语言。

  HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描写叙述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与还有一台电脑中的文本或图形方便地联系在一起,形成有机的总体,人们不用考虑详细信息是在当前电脑上还是在网络的其他电脑上。我们仅仅需使用鼠标在某一文档中点取一个图标。Internet就会立即转到与此图标相关的内容上去。而这些信息可能存放在网络的还有一台电脑中。

  HTML文本是由HTML命令组成的描写叙述性文本,HTML命令能够说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,当中头部描写叙述浏览器所需的信息。而主体则包括所要说明的详细内容。另外,HTML是网络的通用语言,一种简单、通用的全置标记语言。它同意网页制作人建立文本与图片相结合的复杂页面,这些页面能够被网上不论什么其它人浏览到,不管使用的是什么类型的电脑或浏览器。

(3)   XHTML

  XHTML 是EXtensible HyperText Markup Language扩展超文本标签语言

  作为下一代的HTML。我们能够理解XHTML是HTML的升级版。XHTML是HTML像XML的一个过渡语言。它比HTML严谨性会高点。然后基本语言都还是沿用的HTML的标签。仅仅只是废除了部分表现层的标签,同事在标准上要求高了点比方标签的严格嵌套,标签结束等等。今天的市场中存在着不同的浏览器技术。某些浏览器执行在计算机中,某些浏览器则执行在移动电话和手持设备上。而后者没有能力和手段来解释糟糕的标记语言。

  因此,通过把 HTML 和 XML 各自的好处加以结合,我们得到了在如今和未来都能派上用场的标记语言 - XHTML。XHTML 能够被全部的支持 XML 的设备读取。同一时候在其余的浏览器升级至支持 XML 之前,XHTML 使我们有能力编写出拥有良好结构的文档。这些文档能够非常好地工作于全部的浏览器,而且能够向后兼容。

3     区别和对比

3.1  XML和HTML

XML和HTML的对照:

(1)   XML是被设计用来描写叙述数据的,重点是:什么是数据,怎样存放数据。
(2)   HTML是被设计用来显示数据的,重点是:显示数据以及怎样显示数据更好上面。

HTML与XML之间的关系:

(1)   事实上HTML与XML之间没有很必定的联系,XML不是要替换HTML,实际上XML能够视作对HTML的补充。

(2)   XML和HTML 的目标不同:HTML 的设计目标是显示数据并集中于数据外观。而XML的设计目标是描写叙述数据并集中于数据的内容。

(3)   与HTML相似,XML不进行不论什么操作。尽管XML标记可用于描写叙述订单之类的项的结构,但它不包括可用于发送或处理该订单以及确保按该订单交货的不论什么代码,其它人必须编写代码来实际对XML格式的数据运行这些操作。
  与 HTML 不同,XML 标记由架构或文档的作者定义,而且是无限制的。
  HTML 标记则是提前定义的;HTML 作者仅仅能使用当前 HTML 标准所支持的标记。

(4) 与 HTML 不同。XML 标记由架构或文档的作者定义,而且是无限制的。HTML 标记则是提前定义的;HTML 作者仅仅能使用当前 HTML 标准所支持的标记。

3.2   HTML与XHTML

  HTML与XHTML对照:
  XHTML作为HTML的升级版。当然会有很多其它的规范。详细例如以下:

(1)   全部的标记都必需要有一个相应的结束标记。
  曾经在HTML中。你能够打开很多标签,比如和<li>而不一定写相应的和</li>来关闭它们。但在XHTML中这是不合法的。
  XHTML要求有严谨的结构,全部标签必须关闭。
  假设是单独不成对的标签。在标签最后加一个"/"来关闭它。
  比如:<img height="80" alt="网页设计师" src="../images/logo_w3cn_200x80.gif" width="200" />。

(2)   全部标签的元素和属性的名字都必须使用小写。
  与HTML不一样,XHTML对大写和小写是敏感的。
  <title>和<TITLE>是不同的标签。XHTML要求全部的标签和属性的名字都必须使用小写。比如:<BODY>必须写成<body> 。大写和小写夹杂也是不被认可的。
  通常dreamweaver自己主动生成的属性名字"onMouseOver"也必须改动成"onmouseover"。

(3)   全部的XML标记都必须合理嵌套。
  相同由于XHTML要求有严谨的结构。因此全部的嵌套都必须按顺序。
  曾经我们这样写的代码:<p><b></p></b>必须改动为:<p><b></b></p>。
  就是说。一层一层的嵌套必须是严格对称。

(4)   全部的属性必须用引號""括起来。
  在HTML中。你能够不须要给属性值加引號,可是在XHTML中,它们必须被加引號。
  比如:<height=80>必须改动为:<height="80">。
  特殊情况,你须要在属性值里使用双引號,你能够用",单引號能够使用&apos;,
  比如:<alt="say&apos;hello&apos;">

(5)   把全部<和&特殊符号用编码表示。
  不论什么小于号(<)。不是标签的一部分,都必须被编码为& l t ;不论什么大于号(>),不是标签的一部分,都必须被编码为& g t 。不论什么与号(&),不是实体的一部分的,都必须被编码为& a m p;注:以上字符之间无空格。

(6)   给全部属性赋一个值。
  XHTML规定全部属性都必须有一个值,没有值的就反复本身。
  比如:<input type="checkbox" name="shirt" value="medium" checked>
  必须改动为:
  <input type="checkbox" name="shirt" value="medium" checked="checked" />

(7)   不要在凝视内容中使“--”。“--”仅仅能发生在XHTML凝视的开头和结束,也就是说,在内容中它们不再有效。
  比如以下的代码是无效的:<!--这里是凝视-----------这里是凝视-->:用等号或者空格替换内部的虚线。
  <!--这里是凝视============这里是凝视-->:以上这些规范有的看上去比較奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。

(8)   图片必须有说明文字。每一个图片标签都必须有ALT说明文字。
  <img src="ball.jpg" alt="large red ball" title="large red ball"/> //为了兼容火狐和IE浏览器,对于图片标签,尽量採用 alt和title双标签,单纯的alt标签在火狐下没有图片说明。

3.3 怎样将 HTML 转换为 XHTML

  加入一个 XHTML <!DOCTYPE> 到网页中。
  加入 xmlns 属性到每一个页面的 html 元素中。
  改动全部的元素为小写。
  关闭全部的空元素。
  改动全部的属性名称为小写。
  全部属性值加入引號。

 

参考:https://www.cnblogs.com/huanqna/p/8178057.html

     https://www.cnblogs.com/lxjshuju/p/7098341.html

转载于:https://www.cnblogs.com/iamspecialone/p/11227978.html

Html,xhtml,xml的定义和区别相关推荐

  1. 使用 XML Schema 定义元素的基本知识

    新的 XML Schema 系统即将成为 W3C 推荐标准,目的是为了克服 DTD 的局限性(请参阅侧栏, DTD 的局限性 ),为 XML 文档提供丰富的语法结构.本文展示了模式的灵活性,说明如何使 ...

  2. XML和HTML的区别

    XML和HTML的区别,首先还是需要理解下他们的定义 1.XML是:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 2.html:超文本"就是指页面 ...

  3. Web Services 应用开发学习笔记(三):XML模式定义

    本文内容: 1.  命名空间 2.  Schema概述 3.  Schema文档结构 4.  Schema数据类型 5.  Schema元素声明 6.  Schema属性声明 7.  模式重用     ...

  4. XML简介,XML和HTML的区别,XML用处,XML规则,XML约束,XML语法,XML解析,DOM

    什么是xml XML 指可扩展标记语言(EXtensible Markup Language),它的结构是一种树形的结构,必须有一个根节点 XML 是一种标记语言,很类似 HTML XML 的设计宗旨 ...

  5. SVG使用XML格式定义图像

    SVG基础知识–使用XML格式定义图像 1. 什么是SVG? 可伸缩矢量图形(Scalable Vector Graphics) 用来定义用于网络的基于矢量的图形 使用XML格式定义图形 图像在放大或 ...

  6. 爬虫之xml和html的区别

    爬虫之xml和html的区别 要搞清楚html和xml的区别,首先需要我们来认识xml 1.1 认识xml xml是一种可扩展标记语言,样子和html很像,功能更专注于对传输和存储数据 <boo ...

  7. 内联函数有什么优点?内联函数与宏定义的区别?

    内联函数的优点 内联函数比宏定义更加的安全,因为前者进行参数检查,而后者仅仅是简单地文本替换. 内联函数和宏定义的区别 宏定义是在预处理阶段进行的文本替换. 内联函数是在编译阶段进行的替换,优点是减少 ...

  8. Android自定义View研究(四) -- 在XML中定义View

    如果在一直使用SetContentView(new HellwView(this)感觉总是少了一点东西,少了什么了,失去了Android中使用XML定义组件的方便性性,这种感觉让人很不爽,呵呵,在这节 ...

  9. 【mybatis】xml中定义变量

    前言 mybatis 3.4.6 xml中定义变量 <select id="selectListByKeyword" parameterType="map" ...

最新文章

  1. 计算广告 pdf_小学生PDF格式的试卷怎么编辑修改
  2. Java中集合 练习 计算疯狂值
  3. 一文详解pytorch的“动态图”与“自动微分”技术
  4. 天池 在线编程 回合制游戏(前缀和)
  5. LSI_阵列卡操作手册
  6. 计算机组成原理测试题
  7. 腾讯电脑管家离线安装包_这个良心小工具,让你电脑流畅1倍,干掉流氓软件...
  8. Vue报错:3 errors and 0 warnings potentially fixable with the `--fix` option.
  9. Mac上的全局翻译利器 : Bob + PopClip
  10. Unity功能实现——解析OBJ模型文件
  11. java p2p 聊天_P2P--多用户在线聊天室(Java源码)
  12. 500个爆文标题_总结了500篇10W+爆文 好标题都离不开以下几点
  13. 常用的《短信中心号码》收集
  14. Spark MLlib系列(二):基于协同过滤的电影推荐系统
  15. TCL电子软件开发生活记录(更新中)
  16. SEDA(Staged Event-Driven Architecture)
  17. C 判断一个字符串是否包含另一个字符串
  18. html页面的响应式布局,HTML+CSS十分钟实现响应式布局页面,响应式布局实战教程...
  19. 数据架构师 VS 数据工程师,薪酬平均3万+,区别在哪里
  20. nginx配置https证书、https数字证书申请

热门文章

  1. 搭建 mysql-mmm 高可用群集
  2. 使用packetbeat 采集mysql数据
  3. Node.js- sublime搭建node的编译环境
  4. oracle中类似indexof用法_instr函数
  5. IOS 总结:NSArray,NSSet,NSDictionary
  6. 遭遇ORA-01200错误的原因及解决方法
  7. OpenGL 字体颜色问题
  8. webpack4+react多页面架构
  9. 突出告警信息(DBA_OUTSTANDING_ALERTS)
  10. 了解区块链,从挖矿开始