热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Html,xhtml,xml的定义和区别

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

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中。你能够打开很多标签,比如和

  • 而不一定写相应的和
  • 来关闭它们。但在XHTML中这是不合法的。
      XHTML要求有严谨的结构,全部标签必须关闭。
      假设是单独不成对的标签。在标签最后加一个"/"来关闭它。
      比如:网页设计师

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

    (3)   全部的XML标记都必须合理嵌套。
      相同由于XHTML要求有严谨的结构。因此全部的嵌套都必须按顺序。
      曾经我们这样写的代码:

    必须改动为:


      就是说。一层一层的嵌套必须是严格对称。

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

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

    (6)   给全部属性赋一个值。
      XHTML规定全部属性都必须有一个值,没有值的就反复本身。
      比如:
      必须改动为:
      

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

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

     

    3.3 怎样将 HTML 转换为 XHTML

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

     

     

     

     

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

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


    推荐阅读
    • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
    • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
    • 03Spring使用注解方式注入
      基于注解的DI注入1.导包环境搭建:导入aop包(spring-aop-4.1.6.RELEASE.jar)2.创建类3.创建spring.xml配置文件(必须在src目录下)该配 ... [详细]
    • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
    • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
    • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
    • 使用在线工具jsonschema2pojo根据json生成java对象
      本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
    • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
    • Java验证码——kaptcha的使用配置及样式
      本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
    • Android开发实现的计时器功能示例
      本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
    • 深入理解CSS中的margin属性及其应用场景
      本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
    • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
    • 本文介绍了一道网络流题目hdu4888 Redraw Beautiful Drawings的解题思路。题目要求以行和列作为结点建图,并通过最大流算法判断是否有解以及是否唯一。文章详细介绍了建图和算法的过程,并强调在dfs过程中要进行回溯。 ... [详细]
    • Spring MVC定制用户登录注销实现示例
      这篇文章描述了如何实现对SpringMVCWeb应用程序的自定义用户访问(登录注销)。作为前提,建议读者阅读这篇文章,其中介 ... [详细]
    • 十六.增加一个项目协作留言板功能(二)----- 建立一个任务管理的列表页面
      我们设计一个页面来展示正在处理的任务,该表格可以参照之前基础信息的增删改查。用户通过这个页面对任务进行相应操作。1.在views. ... [详细]
    author-avatar
    yuguiping123
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有