作者:矢泽久雄
文章目录
——————————————————————————————————————
第十一章 • XML究竟是什么
——————————————————————————————————————
【00】基础知识
- 标记语言:可以用标签为数据赋予意义的语言
- XML:Extensible Markup Language 可扩展标记语言
- 元语言:通常把用于定义性语言的语言称作源语言。通过使用XML就可以定义出各种各样的语言。
- HTML:Hyper Text Markup Language 超文本标记语言,用于编写网页的标记语言。而XML是用于定义任意标记语言的元语言
- DTD:Document Type Definition 文档类型描述,规定了每种标签里面可以有几类几个标签。
——
【01】初窥XML
一、XML是标记语言
什么是标记语言,我们用HTML来举例,因为HTML就是最被大家熟知的一种编写网页的标记语言。
在HTML中,比如像
< head > 表示网页的头部
< title > 表示网页的标题
< body > 表示网页的主体
…
还有更多像加粗的、改变颜色的、添加下划线的等等的标签。
把通过添加标签为数据赋予意义的行为成为“标记”,
为这种给数据赋予意义的行为定义规则的语言就是“标记语言”。
二、XML是可扩展语言
HTML中规定了标签的种类,我们并不能人为去改变设定标签,所以它是固定的标记语言。
而XML中允许使用者随心所欲创建标签,也就是“<>”中的单词可以是任意的,这就是所谓的“可扩展”。
三、XML是元语言
XML仅限定了进行标记时标签的书写格式,并没有限定标签的使用方式。
通过自定义要使用的标签种类,我们可以创造出一门新的标记语言。这种能够创造新语言的语言,就叫做“元语言”。
XML中的主要约束
我们把遵循XML约束编写出的文档叫做“XML文档”,把保存着XML文档的文件叫做“XML文件”。
我们可以使用记事本等文本编辑器编写XML文件。
——
【02】进一步理解XML
一、XML可以为信息赋予意义
HTML中规定的各种标签只能用来指定信息的呈现样式,而不能表示信息的含义。
比如通过标签加粗、添加下划线、改变颜色、换行等等。
通过XML我们可以自定义给信息赋予意义,比如设定< productId >、< productName >、< price >标签来表示商品编号、商品名称、价格,从而方便数据信息的处理。这就是XML很大的一个用处所在。
二、XML是通用的数据交换格式
不同厂商之间可以通过XML文件来进行交换数据。
除了XML,还有CSV也是一种常用的数据交换格式,并且CSV、XML都是会一直延续下去,两者各自有着自身的优劣势。
- CSV:记录信息本身,没有赋予意义,但是内存占用小
- XML:能给信息赋予意义,但是内存占用大
三、可以为XML标签设定命名空间
所谓的命名空间,目的是为了防止同形异义的情况出现,也就是相同的标签却表示不同的含义。
比如< cat >这个标签,有的人会用来表示猫(cat),有的人则会用来表示连接(concatenate)。
这个时候我们就需要设定不同的命名空间来区分< cat >不同的含义。
通常是一个能代表企业或个人的字符串,用于修饰限定标签的名字。
用法:< cat xmlns=“www.grapecity.com/yazawa”> 这样就跟其他命名空间中的< cat >标签进行区分了。
四、可以严格地定义XML的文档结构
一个完整的XML文档包括:XML声明、DTD、XML实例。
其中,DTD:Document Type Definition 文档类型描述,规定了每种标签里面可以有几类几个标签。
虽然可以省略DTD,但是通过DTD可以严格检查XML实例的内容是否有效。
——
【04】XML多领域应用
通过使用XML在不同领域诞生了各种各样的标记语言,下面总览一下。
用XML定义的标记语言示例
——