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 元素中。 改动全部的元素为小写。 关闭全部的空元素。 改动全部的属性名称为小写。 全部属性值加入引号。
上一篇:
IDEA上Java项目控制台中文乱码
