1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
L10 数据岛

第十章 数据岛 福州大学 吴小竹 本章主要内容 数据岛基本概念 在HTML中显示XML数据 数据岛和XSL 数据岛和DOM 如果要想把有用的信息从数据库中提取出来,传统的方法是在服务器端编写脚本程序(如ASP、JSP等),通过对数据库执行SQL查询得到相关记录,然后把查询结果组织成HTML页面返回给客户端。 数据岛 与HTML文档绑定的XML数据源对象简称为DSO(Data Source Object),通常也称为嵌入HTML文档中的XML数据岛。 使用DSO,借助HTML网页来显示XML文档内容,既能保持XML文档数据与其显示格式分离的特点,又具备HTML网页的丰富显示格式。 数据岛 利用DSO技术显示XML文档的机制是:把链接到HTML网页中的一个XML文档或一段XML数据当作一个类似于数据库的记录集(Recordset)对象,然后使用与数据库类似的操作方法来显示和浏览被链接的XML文档的内容。 采用DSO技术,首先需要进行数据绑定,即将XML文档数据绑定到HTML文档,然后再将特定的XML元素链接到SPAN或TABLE等标准的HTML元素,这些HTML元素就会自动显示它们所绑定的XML元素内容。 数据岛的形式 数据岛的形式有2种: 1.内嵌的数据岛 xml id=“myxml” ?xml version=“1.0” … /xml 2.引用外部的数据岛 xml id=“myxml” src=“myxml.xml” /xml XML的数据绑定 IE?中的DSO把XML数据岛作为一种特殊的ADO记录集进行处理的。?XML中的每一条主元素都被映射为ADO记录集(RecordSet)中的一条记录,而子元素则相应地被映射到记录集中的字段(也称为域)。?例如,存在XML数据岛books.xml如下:? 与HTML元素的绑定? 首先将HTML元素中的DATASRC属性设置为相应的ID,就可以把HTML元素和数据岛联系在一起。然后再通过设置DATAFLD属性值,来确定所提取的XML元素。? 支持这种DSO绑定机制的元素如下:? A、APPLET、BUTTON、DIV、FRAME、IFRAME、?IMG、INPUT?(此处类型是:CHECKBOX、HIDDEN、?LABEL、PASSWORD、RADIO和TEXT)、LABEL、?MARQUEE、SELECT、SPAN、TABLE和?TEXTAREA。? 与HTML元素的绑定? 例如,与DIV元素绑定的代码如下:? DIV?ID=title?DATASRC=“#xmldso”?DATAFLD=“title” /DIV? DIV?ID=price?DATASRC=“#xmldso”?DATAFLD=“isbn” /DIV? 以表格方式显式XML数据 ? 若把XML数据与TABLE元素绑定在一起,就可以自动地显示为多行的表格形式。? 访问元素的属性? 用DSO访问元素的属性可以直接按子元素来处理。? 例如:? book?isbn=“9-001-122-12”? ……? /book? 这样,在绑定到HTML表格中时,就可以直接按子元素来处理:? TDSPAN?DATAFLD=“isbn”?/SPAN /TD? 如果遇到属性名和子元素名一样的情况,在元素名前加上“!”进行区分。? 遍历记录集? 利用ADO提供的各种属性和方法对数据源进行访问: 属性:absolutePage,absolutePosition,BOF,EOF,maxRecords,PageCount, pageSize, recordCount 方法?:?move、moveFirst、moveLast、moveNext和movePrevious。 分页显示? 一般情况下,记录集中数据很大时,数据会分成若干个页面。此时,利用TABLE元素中的DATAPAGESIZE属性可以指定每个页面包含记录集条目的个数。? 例如:? TABLE?DATASRC=“#xmldso”?DATAPAGESIZE=10? TABLE有firstPage、previosPage、nextPage、lastPage有方法。 DSO和XSL样式 xml id=sdb src=“a.xml xml id=“stylesheet1 src=样式单.xsl …… script …… var xmlDso=sdb.XMLDocument; var xslDso=stylesheet1.XMLDocument; divResults.innerHTML=xmlDso.transformNode(xslDs

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档