第8章数据岛Data Island

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实例
<?xml version="1.0" encoding="gb2312" ?> <orders> <order> <customerID>c0500069</customerID> <order_date>20050517</order_date> <order_status>pending</order_status> <items> <item> <bookID>001</bookID> <quantity>10</quantity> <item_status>pending</item_status> </item> </items> </order>
XML与HTML结合的优势

数据可以在本地处理 提供给客户端结构化数据视图 集成不同来源的结构化数据 通过粒度更新来提高性能 网页界面修改不易被破坏数据
8.2 应用数据岛

HTML文档有两种方式引入XML数据岛:

内部嵌入XML

格式:<XML id=“XMLdata”> </XML> 位置:任意,通常在<head>之后,在<body>之前 格式:<XML id=“XMLdata” src=“文件名”> </XML> 表中套表:采用分层嵌入

使用外部的XML文件

8.2.1 数据岛的使用形式

内部数据岛

使用内部数据岛的形式,是将XML文档的全部内容 放在HTML文档中特定的XML元素的起始标记与结 束标记之间,并在XML起始标记中给出这个数据岛 的ID标识。
内部数据岛示例
<html> <head><title>内部数据岛</title></head> <body> <xml id="dos"> <book> <NAME>三国演义</NAME> <AUTHOR>罗贯中</AUTHOR> <PRICE>¥ 20.00</PRICE> <PUBLISH>人民文学出版社</PUBLISH> </book> </xml> <center> <h1>图书信息</h1> <form> 图书名称:<input type="text" datasrc="#dos" datafld="NAME" size="20"/><br/> 图书作者:<input type="text" datasrc="#dos" datafld="AUTHOR" size="20"/><br/> 图书价格:<input type="text" datasrc="#dos" datafld="PRICE" size="20"/><br/> 图书出版社:<input type="text" datasrc="#dos" datafld="PUBLISH" size="20"/> </form> </center> </body> </html>


在HTML文档中引入XML数据岛 <xml id=“xmldata” src=“test5-1.xml”/> 绑定XML元素到HTML的置标,被绑定的HTML置标可以自 动显示XML元素的内容。
8.1.2 数据绑定岛

使用表格时的数据绑定方法


数据控件:负责管理数据,并为HTML元素提供数 据 HTML元素:将数据显示在屏幕上 将数据源与HTML元素绑定的具体操作方法
否 否 否 否 否 否 是
是 是 否 否 否 是 否
支持数据绑定的HTML标记
HTML元素 input type=“hidden” input type=“password” input type=“radio” input type=“text” legend
marquee Select
可更新
是 是 否 否


XML数据岛(Data Island):指嵌入HTML文档 中的扩展标记信息(XMI) HTML文档中的XML数据岛来自于XML文件 XML数据岛技术:在HTML文档的适当位置, 采用一定的HTML标记导入XML元素或属性的 值,从而绑定和显示XML数据
8.1.1 定义数据岛


数据岛是一种数据显示技术 数据岛也是一种数据传递技术。Web服务器与 客户机之间的数据传递方式有3种:HTML页面、 XML文档和XML数据岛。 XML数据岛可以减少数据库的压力,主要是使 查询数据库的用户不再需要频繁地访问服务器 端的数据库,而是访问客户端的XML文档,即 提高了查询速度,也减轻了服务器端的负担。
实例
<order> <customerID>c500701</customerID> <order_date>20050712</order_date> <order_status>pending</order_status> <items> <item> <bookID>002</bookID> <quantity>30</quantity> <item_status>pending</item_status> </item> <item> <bookID>003</bookID> <quantity>20</quantity> <item_status>pending</item_status> </item> </items> </order> </orders>
使用表格时的数据绑定方法



建立HTML文档 加入<XML>标记:在HTML中嵌入XML格式的数据或引用 外部的XML格式文件。其中 设置id属性,可以通过脚本访问这些数据,也可以将它 与<table>捆绑在一起。 设置src属性:导入外部的XML格式数据 建立表格:根据字段个数,设置表头和表体 定义数据源: 在<table>标记中设置datasrc属性,赋值为 数据源的名称(名称前必须加“#”),这样表格就成为包 含数据的数据控件 确定被绑定的字段datafld:在<td>标记中,加入<span>、 <div>等支持DSO的标记,并添加datafld属性,属性值就 是要显示的字段名,即XML文档中的元素或属性名
呈现HTML
是 是 否
否 是
否 否 是
是 否
Span Table textarea
否 否 否
是 是 否
8.1.2 绑定数据岛


使用HTML的<a>置标来绑定XML文档,XML 字段被绑定到<a>的href属性,即被绑定的 XML字段内容作为超级链接的URL。例如: <a datasrc=“#xmldata” datafld=“url1”>显示的 链接内容</a> 使用<img>绑定XML文档,要求XML文档中字 段内容就为图片的URL,并被绑定到<img>的 src属性。例如: <img datasrc="#xmldata" datafld="url1“/>
8.1.2 绑定数据岛

数据绑定(Data Binding)的作用和意义



定义:将外部数据(如XML文档、数据库或使用 OLE-DB链接的外部数据)集成到HTML文件中, 然后使用表格等HTML元素绑定XML文档元素,从 而实现XML数据在HTML页面中的显示 作用:与HTML元素关联的值由一个特定来源提供, 更新其值时会造成关联结点的文本同时更新 执行:内置的XML解析器读取并分析XML文档,同 时创建一个DSO的ActiveX对象,用于存储或缓存 XML数据,并提供对这些数据的访问
8.1.2 绑定数据岛

数据绑定的组成部分:

数据源对象:向网页提供数据 数据显示对象:显示数据的HTML元素 两个代理器:Binding Agent和Table Repetition Agent,用来保证前两者的工作同步
8.1.2 绑定数据岛


Leabharlann Baidu
数据岛对使用者来讲是不可见的。设计人员需要通过 把数据岛的数据绑定到HTML元素中,来格式化数据 以及显示数据。 使用数据绑定,可以不用编写脚本直接在HTML中显 示XML文档。 使用数据绑定显示XML的两个步骤:
8.1.2 绑定数据岛
• 支持数据绑定的HTML标记
HTML标记 作用 被绑定的属性
INPUT TYPE=HIDDEN INPUT TYPE=PASSWORD INPUT TYPE=TEXT TEXTAREA LABEL MARQUEE SELECT SPAN
创建隐藏控件 创建口令输入框 创建文本输入框 创建多行文本输入区 创建标签 创建滚动文字 创建下拉列表 创建格式化的内联文本
第8章 数据岛Data Island

数据岛概述 应用数据岛

数据源对象DSO 切换DSO和XSL
8.1 数据岛概述
8.1.1 定义数据岛



HTML提供了丰富的显示页面,但HTML没有将数 据的存储和数据的显示分离,不仅使数据难以重用 ,而且使系统的可扩展性变差。 XML文档仅仅保存了数据,没有描述数据的显示方 式。 因此,理想的方案是把HTML和XML两种技术直接 相结合,优势互补,这样就形成了数据岛技术。
8.1 数据岛概述



XML不能代替HTML,两者结合可以很好地展 现和更新信息 从数据库来看, XML文档是层状数据库系统, 在某一层的局部来看,相当于关系型数据库。 XML可以作为数据源, XML的元素和属性可 以与HTML的元素绑定,使得XML中的信息能 够通过HTML元素展现出来
8.1.1 定义数据岛
8.1.1 定义数据岛



XML数据岛可利用客户端脚本实现动态信息交 换。 几乎所有能够存在于完整结构的XML文档中的 东西都能存在于数据岛中,但不包括XML文档 中设置编码的字符串。 数据岛技术不是W3C 的推荐标准;它是微软 的技术,在Internet Explorer5.0版本以上的浏 览器中才可使用;
支持数据绑定的HTML元素


并非每个HTML元素都能绑定 并非每个HTML元素都能更新数据 并非每个HTML元素都将数据岛的结点文本呈 现为HTML 可以绑定的HTML元素 p212 表8-1

单值对象:显示DSO提供的当前记录的某个域 表对象:每一行元素对应一条记录中的不同域,并 重复显示数据集中的每条记录
实例
<HTML> <HEAD> <TITLE>使用表格绑定XML</TITLE> </HEAD> <BODY> <XML ID="xmldata" SRC="code7_1.xml"></XML> <center><b><font size="3">HTML表格中绑定显示XML文档内容</font></b></center> <table datasrc="#xmldata" border="1" cellpadding="5" align="center"> <thead> <th>customerID</th> <th>order_date</th> <th>order_status</th> <th>items</th> </thead> <tr> <td><span DATAFLD="customerID"></span></td> <td><span DATAFLD="order_date"></span></td> <td><span DATAFLD="order_status"></span></td> <td><span DATAFLD="items"></span></td> </tr> </table> </BODY> </HTML>
value value value value innerHTML,innerText innerHTML,innerText 列表项目 innerHTML,innerText
支持数据绑定的HTML标记
HTML元素
a applet 否 是
可更新
否 否
呈现HTML
button div frame iframe img input type=“button” input type=“checkbox”
8.1.2 绑定数据岛
• 支持数据绑定的HTML标记
HTML标记 A APPLET BUTTON DIV FRAME IFRAME IMG INPUT TYPE=CHECKBOX INPUT TYPE=RADIO 作用 创建超级链接 在页面中插主JAVA小应用程序 创建按钮 创建可格式化的部分文档 创建框架 创建可浮动框架 插入图片 创建复选框 创建单选框 被绑定的属性 href param innerHTML,innerText innerHTML,innerText src src src checked checked
相关文档
最新文档