XML、HTML、XHTML三者关系

前面的话

XML、HTML、与XHTML想必都不陌生,但三者到底是什么关系,今天就来说一说。先看一张图,了解一下起源:

上面出现的名字中都可以看到:“ML”。“ML(Markup Language)” —— 标记语言。

    GML:为第一代标记语言,使文档能明确将标示和内容分开。 SGML: 为第二代标记语言,在GML的基础上进行梳理。 接下的就是熟悉的XML、HTML、XHTML

什么是XML?

XML,Extensible Markup Language(可扩展标记语言),它被设计用来传输和存储数据的。

XML的作用

XML数据以纯文本格式进行存储,提供了一种独立于软件和硬件的数据存储方法。 通过XML,可以在不兼容的系统之间轻松交换数据。

    用于不同平台、不同引用的数据共享与通信 可作为一种简单的数据库,存储并检索数据 传输约定格式的文件 做软件的配置文件
XML树结构

XML 文档形成了一种树结构,它从“根部”开始,然后扩展到“枝叶”。XML文件必须包含根元素。 通过一个实例来说明它的树结构:下面表示图书的信息

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book category="COOKING">
  <title lang="en">Everyday Italian</title> 
  <author>Giada De Laurentiis</author> 
  <year>2005</year> 
  <price>30.00</price> 
</book>
<book category="CHILDREN">
  <title lang="en">Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title lang="en">Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore>

上例中的根元素是<bookstore>,所有元素<book>元素都被包含在其中。<book>元素有4个子元素:<title>、<author>、<year>、<price>。

XML思维导图

XML的解析器有两种:DOM与SAX。

    DOM(文档对象模型)是W3C标准,提供了标准的解析方式。但是其效率不怎么样。 SAX(simple API for XML)是一种XML解析的替代方法。相比于DOM,SAX是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。而且相比于DOM,SAX可以在解析文档的任意时刻停止解析 但任何事物都有其相反的一面,对于SAX来说就是操作复杂。

XML的整理显示有两种方法:CSS与XSLT

    可以使用css样式层叠表来显示XML文档 XSLT可以向XML转为XHTML显示出来 W3C更推荐使用XSLT

XML的验证也有两种:DTD与Schema

    可以通过 DTD 验证的 XML 是“合法”的 XML Schema是DTD的一种替代,比DTD更强大

详细关于XML的解析、转换、验证可以去官网查看,这里小柒不展开。

什么是HTML?

HTML(Hyper Text Markup Language)—— 超文本标记语言。HTML 是用来描述网页的一种语言。它的设计用来显示数据。对于HTML我们再熟悉不过了,这里不多说。

什么是XHML?

XHTML是以 XML 格式编写的 HTML —— 可扩展超文本标记语言。 XHTML 是更严格更纯净的 HTML 版本。

XML与HTML的区别

前面开头我们可以看到XML与HTML就像是兄弟关系。

HTML与XHTML的区别

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

    全部的标记都必需要有一个相应的结束标记。 全部标签的元素和属性的名字都必须使用小写。 全部的XML标记都必须合理嵌套。 全部的属性必须用引号""括起来。 把全部<和&特殊符号用编码表示 给全部属性赋一个值。
怎样将HTML改为XHTML
    加入一个 XHTML <!DOCTYPE> 到网页中。 加入 xmlns 属性到每一个页面的 html 元素中。 改动全部的元素为小写。 关闭全部的空元素。 改动全部的属性名称为小写。 全部属性值加入引号。
经验分享 程序员 微信小程序 职场和发展