【聚杰网XML】神奇的XML--突破CGI权限的约束
免费存放个人主页的网站很多,可是向普通网友提供CGI权限的却很少;要么就是要求太高,绝大部分都很难达到。XML(可扩展标记语言)的出现,虽然不是以解决上述问题为目的,却给我们提供了一条很好的不需要CGI权限的途径来实现如动态显示、查询、排序等以前只能通过CGI程序才能完成的功能,并且效果通常更好。
考虑到XML对于大多数的网友来说并不是很熟悉,所以笔者试图避开XML技术的很多复杂的概念和庞大的体系结构,介绍上述功能的傻瓜式的实现方式。如果你想让自己的网站更上一层楼,让计数器以100次/平方秒(呵呵,夸张了点!)的加速度跳动,请跟我来。
一. XML概述及实例
虽然说了不深入XML的概念和体系结构的介绍,但还是有必要讲讲在接下来的制作过程中必须理解的XML的基本思想和一个名词--XML的数据岛(Data Island)。
提到XML,大家可能马上会联想到HTML,实际上,在某种程度上可以说XML是为了解决HTML的某些局限而产生的。众所周知,HTML是用来描述数据(如文字、图片、视频等)怎么样在Web浏览器中显示出来。描述的方式是使用规定的标签如<font>、<center>、<img>等等。那么XML呢?简单的说,XML是用来描述数据的结构的,而不是这些数据怎么在浏览器中显示出来,就象数据库中的二维表一样。描述的方式也是标签,不过这些标签都是你自己定义的。自己给标签取名字,听起来好象不可思议,其实,现在你完全可以结合后文的XML文件的例子把这些标签看成是一个数据库表的表名和字段名。在定义数据库表的时候,表名和字段名肯定都是你自己取的了。一旦你这样想,那么把用XML描述的数据看作数据库表的另一种样子也是理所当然的了。继续推理下去,把XML文件上传到Web Server不就意味着在Web Server上定义了数据库表吗?再使用后文介绍的在浏览器中(即HTML文件)操纵XML文件中的数据不就意味着可以实现动态网页了吗?哈,看来我们突破CGI权限约束的信心更足了。
XML文件的例子如下(这个XML文件也作为后文介绍操纵XML数据时使用的数据源,怎样扩展这个文件相信读者看完之后比我更清楚!不过如果你的数据内容中有"<"、">"、 ""(双引号)"、"'(单引号)"、"&"几种符号的话,应该写成相应的"<"、">"、"""、"'"、"&"):
从例子中可以很明显的看出,除了<?xml version = "1.0" encoding="gb2312" ?>和注释标签<!-- -->以外,其他所有的标签都是笔者自己定义的。不过这里的标签都是大小写敏感的,如<author>与<Author> 是不一样的,而且,标签里的属性值都必须用引号(单引号或双引号)引起来。这与HTML是不相同的。标签<?xml version = "1.0" encoding="gb2312" ?>是一个XML处理指令(注意小写),不可缺少。"?"与"xml"之间不能有空格,属性"version"指示该XML文件符合的XML标准的版本号,"encoding"属性指定了XML文件使用的字符集,因为XML缺省的字符集为Unicode,所以我们要把字符集设为"gb2312"."gb2312"表示国标简体中文,"big5"表示繁体中文。
例子中所有的代码组成了一个数据岛(Data Island),可在HTML文件中作为一个记录集来操纵。
另外,在Notepad(或其他的编辑器或专业的XML编辑器如Visual Interdev)中编辑完后可以用IE5浏览器直接查看是否有语法错误,如下图示:





