html, xhtml和xml

1.定义及特点:

1) html:Hyper Text Markup Language 超文本标记语言 是最早写网页的语言,但编码不规范,主要用于控制数据的显示和外观。语法较为松散,不严谨的web语言;

  ① 简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便。

  ② 可扩展性:超级文本标记语言的广泛应用带来了加强功能,增加标识符等要求,超级文本标记语言采取子类元素的方式,为系统扩展带来保证。

  ③ 平台无关性:虽然个人计算机大行其道,但使用mac等其他机器的大有人在,超级文本标记语言可以使用在广泛的平台上,这也是万维网(www)盛行的另一个原因。

  ④ 通用性:另外,html是网络的通用语言,一种简单、通用的全置标记语言。它允许网页制作人建立文本与图片相结合的复杂页面,这些页面可以被网上任何其他人浏览到,无论使用的是什么类型的电脑或浏览器。

2) xhtml:eXtensibale Hyper Text Markup Language 可扩展的超文本标记语言 其实就是严谨而准确的html, 对html进行了规范,编码更加严谨,是一种过渡语言,html向xml过渡的语言;

Html与xhtml的发展历程:

  - HTML 1.0——1993年6月发为互联网工程工作小组 (IETF)工作草案发布(并非标准).
  - HTML 2.0——1995年11月作为RFC 1866发布,在RFC 2854于2000年6月发布之后被宣布已经过时
  - HTML 3.2——1996年1月14日,W3C推荐标准
  - HTML 4.0——1997年12月18日,W3C推荐标准
  - HTML 4.01(微小改进)——1999年12月24日,W3C推荐标准
  - ISO/IEC 15445:2000(“ISO HTML”)——2000年5月15日发布,基于严格的HTML 4.01语法,是国际标准化组织和国际电工委员会的标准
  - XHTML 1.0——发布于2000年1月26日,是W3C推荐标准,后来经过修订于2002年8月1日重新发布。
  - XHTML 1.1 -- 于2001年5月31日发布

3) XML:eXtensibale Markup language可扩展性标记语言 是一种跨平台语言,编码更自由。提供一种描述结构化数据的方法,用于定义数据本身的结构和数据类型,可扩展。

W3C意识到HTML的不足:
   - 不能解决所有解释数据的问题 - 像是影音文件或化学公式、音乐符号等其它型态的内容;
   - 效能问题 - 需要下载整份文件,才能开始对文件做搜寻的动作;
   - 扩充性、弹性、易读性均不佳;
   为了解决以上问题,专家们使用SGML精简制作,并依照HTML的发展经验,产生出一套使用上规则严谨,但是简单的描述数据语言:XML。 XML是一个以更中立的方式,让消费端自行决定要如何消化、呈现从服务端所提供的信息。XML目的即在于提供一个对信息能够做精准描述的机制,藉以弥补 HTML 太过于表现导向的特质。

  • 网页编码从html=>xhtml=>xml 进一步发展。

2.三者的区别:

  • Xhtml与html相比:

   1) xhtml具有良好的排版和规范,要求:a.元素必须有结束标签;b.元素必须正确嵌套;

   2) xhtml的属性值必须在引号之中;

   3) xhtml不支持属性最小化(minimized attributes)即为:<input disabled>是不对的,必须<input disabled='disabled’>

   4) Xhtml中name属性是不赞成使用的,在以后的版本将被删除

  • Xml与html相比:

    1) Xml规范比较严谨,比如:严格区分大小写

    2) Xml标签必须闭合,包括空标签

    3) Xml必须有且仅有一个根标签

    4) Xml的标签可自定义

  • 根据这样的进化过程,Html有可能逐步被xml所取代,xml是一种更强大的语言,更灵活。

---初来乍到,知识欠缺,不足之处,欢迎指正...

参考文献:

[1]W3C标准

[2]《css权威指南》(第三版)

[3] http://wenku.baidu.com/  百度文库

html, xhtml和xml的更多相关文章

  1. 那点你不知道的XHtml(Xml+Html)语法知识(DTD、XSD)

    什么是XHtml: 摘录网上的一句话,XHTML就是一个扮演着类似HTML的角色的XML. XHtml可当模板引擎应用: CYQ.Data 框架里有一套XHtmlAction模板引擎, 应用在QBlo ...

  2. html,xhtml和xml

    html,xhtml和xml的定义: 1.html即是超文本标记语言(Hyper Text Markup Language),是最早写网页的语言,但是由于时间早,规范不是很好,大小写混写且编码不规范: ...

  3. XHtml(Xml+Html)语法知识(DTD、XSD)

    那点你不知道的XHtml(Xml+Html)语法知识(DTD.XSD) 什么是XHtml: 摘录网上的一句话,XHTML就是一个扮演着类似HTML的角色的XML. XHtml可当模板引擎应用: CYQ ...

  4. htm,html,xhtml,xml,xsl,dhtml,shtm和shtml的区分

    介绍一下htm,html,xhtml,xml,shtml的区分,以下内容来自百度后的知识整理. HTML和htm: HTML(Hypertext Markup Language)超文本传输语言,是ww ...

  5. Web客户端语言HTML、XHTML和XML相关知识介绍

    HTML简介 HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言.HTML文本是由HTM ...

  6. xml ,html,xhtml

    html,xhtml和xml的定义: 1.html即是超文本标记语言(Hyper Text Markup Language),是最早写网页的语言,但是由于时间早,规范不是很好,大小写混写且编码不规范: ...

  7. XML简介与CDATA解释

    简介XML 是一种受到广泛支持的 Internet 标准,用于以一种特殊的方式编码结构化数据.实际上,以 XML 编码的数据可以通过任何编程语言解码,人们甚至可以使用标准的文本编辑器来阅读或编写 XM ...

  8. XML 基础

    linux下xml编辑器 vim gedit editix wonderful;免费30天;可以进行有效性检查 xerces oxygen 收费 xmlcopyedit serna free 是ser ...

  9. php中通过DOM操作XML

    DOM文档在js里早就接触过,知道DOM不但可以操作html文档,还可以操作XHTML,XML等文档,有着极强的通用性,下面我们通过两个小例子,看看在PHP中是如何用DOM操作XML文档的,和js中差 ...

随机推荐

  1. python——threading模块

    一.什么是线程 线程是操作系统能够进行运算调度的最小单位.进程被包含在进程中,是进程中实际处理单位.一条线程就是一堆指令集合. 一条线程是指进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条 ...

  2. GitLab常见使用方法

    1.GitLab配置 git config --global user.name "xxx" -- 配置用户名,上传本地 repository 到服务器上的时候,在 Github ...

  3. [PHP] - Laravel - 列表、新增、修改、删除例子

    前言 Laravel默认是自带了CURD的功能,使用路由的Route::resource可以做到. 但真正的项目中,这往往不是我们所需要的.因为一个项目会有比较复杂的计算.验证等功能. 下面是对项目中 ...

  4. [PHP] - 性能加速 - 开启opcache

    说明 PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的).对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法 ...

  5. 【转】JSch - Java实现的SFTP(文件下载详解篇)

    上一篇讲述了使用JSch实现文件上传的功能,这一篇主要讲述一下JSch实现文件下载的功能.并介绍一些SFTP的辅助方法,如cd,ls等.   同样,JSch的文件下载也支持三种传输模式:OVERWRI ...

  6. 短链(ShortURL)的Java实现

    什么叫短链或短址? 就是把长的 URL 转成短的 URL, 现在提供这种服务的有很多公司,我们以google家的 URL shortener 服务: http://goo.gl/ 为例. 任何长网址都 ...

  7. git学习:多人协作,标签管理

    多人协作: 查看远程库的信息, git remote 推送分支到远程库 git push origin master/dev 注意:master是主分支,时刻需要与远程同步 dev是开发分支,也需要与 ...

  8. Gradle脚本基础全攻略

    http://blog.csdn.net/yanbober/article/details/49314255

  9. php中序列化与反序列化

    解析PHP多种序列化与反序列化的方法 序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更 ...

  10. deep learning 练习 多变量线性回归

    多变量线性回归(Multivariate Linear Regression) 作业来自链接:http://openclassroom.stanford.edu/MainFolder/Document ...