图1
数据绑定的这种工作方式,使得程序开发人员只要使用扩展HTML和可插入的数据源对象,就能使脚本的编程量达到最小。与传统的服务器端脚本生成的网页相比,数据只要一次下载到客户端后,对该数据所做的任何操作都不再需要额外的服务器请求,因此节省了网络带宽,提高了下载速度。
数据绑定的实现
本节将根据数据绑定的体系结构,分别介绍它的各个组成部分及其实现。
1. 数据源对象(Data Source Object)
实现数据绑定的第一步是:确定网页所要显示的数据,据此选择一个适合的数据源对象(DSO),再在网页中引用该DSO。数据绑定的灵活性首先表现在支持多种DSO,IE 4.0及以上版本支持下列DSO类型:
●Tabular Data Control(TDC):这是一种简单的DSO,提供对格式化文本文件的访问。也就是说,TDC提供的数据来源是用指定分隔符来格式化的文本文件。
●Remote Data Service(RDS):RDS的前身是ADC(Access Data Control)。RDS通过OLE-DB或ODBC与数据库通信,获得数据。
●JDBC DataSource Applet:它与RDS的不同之处在于数据库连接使用JDBC。
●XML Data Source:扩展标记语言XML使用标准的方式来描述和交换结构化数据;XML的数据以开放的、基于文本的格式进行描述,并通过标准HTTP协议传输。XML本身的特性决定了它天生就是一种灵活强大的DSO。IE4.0使用JAVA APPLET来实现XML DSO;IE5.0支持Data Island,用户可以直接用<XML>标记定义的数据作为DSO。
●MSHTML Data Source:除了使用外部的控件作为DSO外,开发人员还可以在HTML文档中定义数据集,并使用MSHTML本身作为数据源。
●自定义类型DSO:除了以上明确定义的这五类DSO,IE还支持用户自定义类型的DSO,只要该DSO遵循IE 4/MSHTML Data Binding Interface即可。
DSO可以在设计时指定,也可以在运行时动态增加、修改和删除。
2.支持数据绑定的数据显示对象(Data Consumer)
可绑定的HTML元素共分为两大类:单值对象(Single-valued Consumer)和表对象(Tabular Consumer)。单值对象显示DSO提供的当前记录的某一个域,而表对象中的每行元素则分别对应一条记录中不同的域,并以此为模板重复显示数据集中的每条记录。数据显示对象既可以在设计时绑定到DSO,也可以在运行时动态绑定。
DSO和Data Consumer的动态特性,使得已经存在的元素绑定可以被修改;不但如此,DHTML对象模型(DHTML Object Modle)还支持运行时动态增加数据绑定元素
···
···