标记语言

XML、HTML、XHTML这三者都有ML。ML(Markup Language)标记语言在维基百科中的解释是:

一种将文本以及文本相关的信息结合起来,展示出关于文档结构和数据处理细节的计算机文字编码。与文本相关的其他信息(包括文本的结构和表示信息等)与原本的文本结合在一起,但是使用标记(markup)进行标识。

用html举个例子:

<h1>我爱我家</h1>

上面的例子中的”我爱我家“就是文本,与文本相关的其他信息”这段文本是个标题“就用标记h1进行标识。

HTML

HTML(Hyper Text Markup Language),即超文本标记语言。

  • HTML的标签是固定的,只能用已经规定好的标签来对文本进行特定的描述
  • HTML被设计用来显示数据。

XML

XML(Extensible Markup Language),即可扩展标记语言。可扩展体现在XML的标签不是固定的,需要自己定义。

比如描述一张桌子的相关信息:

<table>
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

我们可以根据自己的需要,定义自己的标签。

命名空间

为了防止大家定义的标签名重复(比如在A的命名里,table表示桌子;而在B的命名里,table表示表格),XML采用命名空间来避免命名冲突。为了区分世界各地的命名,需要一个独一无二的标识来区分不同的文件的命名,而域名无疑是一个完美的选择。

为标签添加一个xmlns属性

<table xmlns="http://www.baidu.com">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>

这样不同域名下的命名就不会冲突了。

XML与HTML的区别

XML和HTML都是标记语言,但两者可以说完全不一样

  • HTML的标签固定的,XML的标签是自定义的
  • XML旨在传输和存储数据;HTML旨在显示数据

XML与json

我目前的理解是,XML与json的设计初衷都是,实现一种通用且可读性高的数据格式。这两个目的XML和json都做到了,但是XML更像是先行者,在微软的推动下,开启了通用格式思想的大门,但相比json,还是有一些不足:

  • XML标签冗余高,数据体积大,传输速度慢
  • XML解析较难,json解析难度几乎为0

XHTML

简单来说,XHTML就是更严格更纯净的HTML版本。

与HTML的区别:

  • 文档结构

    XHTML DOCTYPE 是强制性的

    <html> 中的 XML namespace 属性是强制性的

    <html><head><title> 以及 <body> 也是强制性的
  • 元素语法

    XHTML 元素必须正确嵌套

    XHTML 元素必须始终关闭

    XHTML 元素必须小写

    XHTML 文档必须有一个根元素
  • 属性语法

    XHTML 属性必须使用小写

    XHTML 属性值必须用引号包围

    XHTML 属性最小化也是禁止的

XML、HTML、XHTML的关系的更多相关文章

  1. SGML、HTML、XML、XHTML的关系

    我们先看看它们的历史起源: SGML--1986年国际标准化组织出版发布了一个信息管理方面的国际标准(ISO 8879:1986信息处理). HTML 2.0--1995年11月作为RFC 1866发 ...

  2. HTML与CSS入门——第三章 理解HTML和XHTML的关系

    知识点: 1.以HTML创建一个简单网页的方法 2.包含每个网页必须有的所有HTML标签的方法 3.用段落和换行组织页面的方法 4.用标题组织内容的方法 5.HTML.XML.XHTML和HTML5之 ...

  3. xml、xhtml、html、dhtml的区别

    1.XML 可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 可扩展标记语言可以对文档和数据进行结构化处理,从而能够在部门.客户和供应商之间进行交换,实现动态内 ...

  4. XML / HTML / XHTML 的区别

    目录 HTML XML XHTML HTML HTML(HyperText Markup Language):超文本标记语言,是一种用于创建网页的标准标记语言,是用来格式化并显示数据的 用HTML语法 ...

  5. 什么是HTML、XML和XHTML

    (1)XMLXML是The Extensible Markup Language(可扩展标识语言)的简写.目前推荐遵循的是W3C于2000年10月6日发布的XML1.0,参考(www.w3.org/T ...

  6. XML与XHTML

    什么是XML XML的基本格式 XML的定义文档 HTML5的文档定义 XHTML1.0的文档定义 XHTML1.0标记格式 12.1 什么是XML XML中文翻译为可扩展标记语言,顾名思义,它比HT ...

  7. HTML、XML、XHTML 有什么区别?

    HTML即是超文本标记语言(Hyper Text Markup Language),是最早写网页的语言,但是由于时间早,规范不是很好,大小写混写且编码不规范,是语法较为松散的.不严格的Web语言 XH ...

  8. xml html xhtml html5

    1.XML 什么是 XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 X ...

  9. xml ,html,xhtml

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

随机推荐

  1. 写文章 通俗易懂 悲观锁、乐观锁、可重入锁、自旋锁、偏向锁、轻量/重量级锁、读写锁、各种锁及其Java实现!

    网上关于Java中锁的话题可以说资料相当丰富,但相关内容总感觉是一大串术语的罗列,让人云里雾里,读完就忘.本文希望能为Java新人做一篇通俗易懂的整合,旨在消除对各种各样锁的术语的恐惧感,对每种锁的底 ...

  2. 数据库及MySQL基础(1)

    1.数据库概述 关系型数据库:面对关系,Java面向对象. ·常见数据库 Oracle(神喻):甲骨文 DB2:IBM SQL Server:微软 Sybase:赛尔斯 MySQL:甲骨文,最早是开源 ...

  3. 经典SQL数据库面试题以及答案—Oracle版本-SQL全部在plsql开发编写-欢迎提问

    Student(Sno,Sname,Sage,Ssex) 学生表 S1:学号:Sname:学生姓名:Sage:学生年龄:Ssex:学生性别 Course(Cno,Cname,T1) 课程表 C1,课程 ...

  4. centos源码安装nginx

    1.安装依赖 nginx对以下工具包有依赖,我们可以一键安装,命令: yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-dev ...

  5. maven项目打包和编译跳过单元测试和javadoc

    代码中可能由于单元测试.注释(方法中的参数)或者maven javadoc插件的问题导致无法打包,影响工作,为避免这两种情况可以在打包时输入命令: mvn clean install -Dmaven. ...

  6. FPGA上外挂DDR2&DDR3&MIG IP的使用记录

    前言 当需要大容量数据存储及处理的时候,FPGA内部自带的存储资源是远远不够的,所以问题来了,怎么使用外带的DDR3? 首要问题在于DDR3是什么?有没有协议?当然只是需要用Xilinx MIG IP ...

  7. linux内核信号量

    用户态的信号量: System V 信号量 Posix 信号量 信号量是用于保护临界区的一种常用方法.它的使用和自旋锁类似.相同的是,只有得到信号量的进程才能执行临界区代码:不同的是,当获取不到信号量 ...

  8. TreeMap核心源码实现解析

    TreeMap实现了SotredMap接口,它是有序的集合.而且是一个红黑树结构,每个key-value都作为一个红黑树的节点.如果在调用TreeMap的构造函数时没有指定比较器,则根据key执行自然 ...

  9. 利用jenkens+github实现简单的CI/CD

    一  获取github accessToken 依次点击 settings----> Developer settings --->Personal access tokens  到这里如 ...

  10. gitlab中的几个常用界面(runner管理、gitlab-ci.yml管理、runner token管理、新建用户、拉用户入工程、拉用户入组、复制工程导入组)

    目录: 1.runner管理 2.gitlab-ci.yml管理 3.runner token管理 4.新建用户 5.拉用户入工程 6.拉用户入组 7.复制工程导入组 1.runners界面 http ...