1700417299
1700417300
里面使用了
,,,和标签来描述购物网站中所需的信息。对比刚才的CSV文件,有什么发现吗?只是瞥一眼,就能够看出在XML文件中,因为标签为信息赋予了意义,所以分析起来更方便。但另一方面,文件变大了。刚才的CSV文件不过50字节,而这个XML文件的大小是280字节,比CSV文件的5倍还多。文件增大,就意味着会占用更多的存储空间,需要更长的传输及处理时间。
1700417301
1700417302
另外在平时所使用的应用程序中,不仅可以把文件保存成私有的数据格式,还可以把文件保存成通用的数据格式。以Microsoft Excel为例,在旧版本的Excel 2000中,采用了CSV作用通用的数据格式,而在Excel 2002(XP)中就采用了CSV和XML两种格式(如图11.12所示),这也算是一个今后会继续同时使用CSV和XML的证据吧
1700417303
1700417304
图11.12 以通用数据格式保存数据
1700417305
1700417306
1700417307
1700417308
1700417309
1700417310
1700417311
1700417313
计算机是怎样跑起来的 11.6 可以为XML标签设定命名空间
1700417314
1700417315
XML文档并非因特网专用,但XML确实是一种主要通过因特网在全世界的计算机之间交换数据时使用的数据格式。这样的话就有可能遇到一个问题:虽然标签的名字相同,但标记语言的创造者们却为它们赋予了各种不同的含义。例如这个标签,有人用它来表示猫(CAT),有人会用它来表示连接(conCATenate)(如图11.13所示)(cat除了表示猫,还是一个Unix命令,该命令用于将多个文件连接在一起。在计算机行业中,应该也有不少人更倾向于由cat这个词联想到连接,而不是猫)
1700417316
1700417317
图11.13 在大千世界中人们会为相同的标签赋予不同的意义
1700417318
1700417319
1700417320
1700417321
1700417322
于是就诞生了一个W3C推荐标准–XML命名空间(Namespace in XML),旨在帮助防止这种同形异义带来的混乱。所谓命名空间,通常是一个能代表企业或个人的字符串,用于修饰限定标签的名称。在XML文档中,通过把“xmlns=“命名空间的名字””作为标签的一个属性记述,就可以为标签设定命名空间。Xmlns即XML NameSpace(命名空间)的缩写。通常用全世界唯一的标识符作为命名空间的名称。说到因特网世界中的唯一标识符,公司的URI就再好不过了。例如,在XML文件中,GrapeCity公司的矢泽创建的标签就可以写成如下这种格式:
1700417323
1700417324
Tom
1700417325
1700417326
这样就可以与使用了其他命名空间的标签区分开了
1700417327
1700417328
在本例中,作为标签的命名空间设置的http://www.grapecity.com/yazawa,仅作为一个全世界唯一的标识符来使用。就算把这个URI输入到Web浏览器地址栏中,也并不会显示出相应的网页
1700417329
1700417330
1700417331
1700417332
1700417334
计算机是怎样跑起来的 11.7 可以严格地定义XML的文档结构
1700417335
1700417336
除了之前讲解过的“格式良好的XML文档”还有一个词叫做“有效的XML文档(Valid XML document)”。所谓有效的XML文档是指在XML文档中写有DTD(Document Type Definition,文档类型描述)信息。前面没有说明,其实完整的XML文档包括XML声明、XML实例和DTD三部分。所谓XML声明,就是写在XML文档开头的,形如的部分。XML实例是文档中通过标签被标记的部分;而DTD的作用是定义XML实例的结构。虽然也可以省略DTD,但通过DTD可以严格地检查XML实例的内容是否有效。
1700417337
1700417338
图11.14展示了一个写有DTD的XML文档。
1700417339
1700417340
图11.14 具有DTD的XML文档
1700417341
1700417342
1700417343
1700417344
1700417345
请把它想成一个描述公司名称、地址和员工数量的XML文档。用和]>括起来的部分就是DTD。DTD定义了在
标签中可以有一个以上标签;在标签中可以包含,,标签。只要定义了这样的DTD,当遇到那些虽然记录了公司名称和地址,但还没有员工数量的数据时,就可以判断出这不是一个有效的XML实例
1700417346
1700417347
与DTD相同,还有一个名为XML Schema的技术也可用于定义XML实例的结构。在XML中,DTD借用了可称得上是标记语言始祖的SGMI(Standard Generalized Markup Language,标准通用标记语言)的语法。而XML Schema是为了XML新近研发的技术,因此它可以对XML文档执行更严格的检查,例如检查数据类型或数字位数等。DTD是1996年发布的W3C推荐标准,而XML Schema发布于2001年。今后将成为主流的是XML Schema,而不是古老的DTD
1700417348
[
上一页 ]
[ :1.700417299e+09 ]
[
下一页 ]