前面的话
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 元素中。
-
改动全部的元素为小写。
-
关闭全部的空元素。
-
改动全部的属性名称为小写。
-
全部属性值加入引号。
参考链接: