动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
电脑书籍下载:程序设计书籍 | 数据库教程书籍 | 平面与多媒体书籍 | 网络通讯书籍 | 系统管理书籍 | 网络安全书籍 | 认证考试书籍
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > XML教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ XML教程 ]的信息



本月文章推荐
.XML轻松学习手册(2)XML概念.
.XML入门的常见问题(三).
.XML简易教程之一.
.XML卷之实战锦囊(1):动态排序.
.XML入门的常见问题(二).
.XML入门的常见问题(一).
.什么是 XML Web Service.
.了解WEB页面工具语言XML(四)应用.
.XML简易教程之三.
.XML正在接管Web服务 成为SOA的基.
.XML卷之实战锦囊(4):选单连动.
.了解WEB页面工具语言XML(二)定义.
.XML与HTML的结合(下).
.了解WEB页面工具语言XML(五)好处.
.如何建立一个 XML 的开发环境.
.XML与HTML的结合(上).
.了解WEB页面工具语言XML(一)产生.
.XML教程:XML有哪些用途?.
.XML教程:什么是XML及XML和HTML的.
.XML入门精解之结构与语法.

XML与HTML的结合(上)

发表日期:2003-7-8 |


北京邮电大学 张剑

 

XML的局限性

目前,许多Web网站的内容数据都存放在数据库或数据文件中。对于Web程序开发人员来说,如果要想把有用的信息从数据库中提取出来,传统的方法是在服务器端编写脚本程序(如VBScript、JavaScript、CGI、ASP、Perl等等),通过对数据库执行SQL查询得到相关记录,然后把查询结果组织成HTML页面返回给客户端,用户使用浏览器观察最终结果。

为了提高系统服务的灵活性、可扩展性,使服务对象范围更广,许多商业网站都尽可能地把商务规则、原始数据和表现形式当做相互独立的服务分别提供。HTML那种蕴数据于显示之中的方式显然不合乎这种需求。因此,把原始数据存放在XML文档中,使用样式单文件显示内容是XML技术适合于电子商务的优势所在。但从本质上来说,XSL技术不是面向数据显示的,它是一种格式转换技术,在显示手段和方式上都远不及HTML那样丰富。对编程人员来说,一种较为理想的方案是把HTML和XML两种技术相结合,优势互补,使真正的原始数据在能够保持本来意义和结构的同时,还能充分利用HTML那千变万化的显示技巧。XML数据岛就是这种技术融合的产物,它使用<XML>标签把XML数据直接嵌入到HTML页面中,从而实现了二者的优势互补。

IE中数据岛的处理方式

为了能够处理这种内嵌XML代码的HTML页面,Internet Explorer 4.0(以下简称IE 4.0)引入了DSO(Data Source Objects,数据源对象)技术,用Java Applet实现。

例如:

<APPLET CODE=“com.ms.xml.dso.XMLDSO.class”

ID=“xmldso” WIDTH=0 HEIGHT=0 MAYSCRIPT=TRUE>

<PARAM NAME=“URL” VALUE=“myXML.xml”>

</APPLET>

上述例子中,CODE属性指明了DSO Java小程序,MAYSCRIPT属性保证用户端脚本能够处理数据对象,PARAM标签指明了XML文档的位置。

使用Java的局限性在于只能在HTML文档中说明XML的URL地址,而不能直接将XML标签嵌入其中,这就和真正的数据岛方案还有一定的差距。微软在Internet Explorer 5.0(以下简称IE 5.0)中对DSO技术进行了扩展,突破了以往的限制,使HTML和XML真正地融合到了一起。HTML页面中支持直接使用<XML>标签。

例如:

<HTML>

<XML ID=“xmldso”>

<?xml version=“1.0”?>

some XML……

</XML>

只要保证每个数据岛的ID都是唯一的,就可以在页面中的任何必要的地方嵌入数据岛,并且这些DSO彼此都是相互独立的。

除了上面例子中的这种直接嵌入方式,还可以使用外部引用方式链接数据岛。

例如:

<XML ID=“xmldso” SRC=“myXML.xml”>

</XML>

这样,只有当公司的客户对象继续使用IE 4.0,并且为了解决这部分客户的兼容性问题时,Java Applet才是编程人员要考虑的选择方案。

在IE 5.0所实现的DSO技术中,如果数据是通过SQL语言对数据库进行查询得到的结果,那么就把它们存放在ADO(ActiveX Data Objects)记录集中。服务器把这种ActiveX控件(通常是ADO记录集)发送到客户端,由客户端脚本程序做进一步的处理。实际上,IE 5.0就是把XML数据岛作为一种特殊的ADO记录集进行处理的。

XML的数据绑定

1.ADO记录集的映射

XML中的每一条主元素都被映射为ADO记录集中的一条记录,而子元素则相应地被映射到记录集中的字段(也称为域)。

例如,存在XML数据岛books.xml如下:

<XML ID=“xmldso”>

<?xml version=“1.0”?>

<booklist>

<book>

<title>Straight Talk About Computers</title>

<isbn>72-80088-005</isbn>

</book>

<book>

<title> Gourmet Microwave </title>

<isbn>72-80081-082</isbn>

</book>

</booklist>

</XML>

此时,映射后的ADO记录集为:

title isbn

Straight Talk About Computers 72-80088-005

Gourmet Microwave 72-80081-082

2.与HTML元素的绑定

在HTML文档中嵌入数据岛之后,就可以将XML数据岛与HTML元素绑定在一起。每一个DSO条目(即数据岛)都有唯一的ID号。首先将HTML元素中的DATASRC属性设置为相应的ID,就可以把HTML元素和数据岛联系在一起。然后再通过设置DATAFLD属性值,来确定所提取的XML元素。

例如,与DIV元素绑定的代码如下:

<DIV ID=title DATASRC=#xmldso DATAFLD=“title”></DIV>

<DIV ID=price DATASRC=#xmldso DATAFLD=“isbn”></DIV>

注意:并非所有的HTML元素都能与XML数据岛绑定。目前,支持这种DSO绑定机制的元素如下:

A、APPLET、BUTTON、DIV、FRAME、IFRAME、 IMG、INPUT (此处类型是:CHECKBOX、HIDDEN、 LABEL、PASSWORD、RADIO和TEXT)、LABEL、 MARQUEE、SELECT、SPAN、TABLE和 TEXTAREA。

3.以表格方式显式XML数据

若把XML数据与TABLE元素绑定在一起,就可以自动地显示为多行的表格形式。

例如,XML数据与TABLE元素绑定的代码如下:

<TABLE BORDER=1 DATASRC=“#xmldso”>

<THEAD>

<TR><TH>Title</TH>

<TH>ISBN</TH></TR>

</THEAD>

<TBODY>

<TR><TD><DIV DATAFLD=“title”></DIV></TD>

<TD><DIV DATAFLD=“isbn”>

</DIV></TD></TR>

</TBODY>

</TABLE>

这样,通过将TABLE元素中的DATASRC属性设定为#xmldso,把两者绑定起来。表格内部分为表头(THEAD)和表体(TBODY)两部分。每一个<book>元素都会显示为一行表格,具体每一栏显示哪一项数据,则由DIV元素中的DATAFLD属性指定。


上一篇:如何建立一个 XML 的开发环境 人气:33234
下一篇:XML与HTML的结合(下) 人气:23872
浏览全部XML的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-7-9 顶级域名交易系统 v3.0 完整版
2008-7-9 ACTCMS网站管理系统 v2.0 Build
2008-7-9 Roclog v3.1.4 build 20080706
2008-7-9 乐彼网上开店系统(56770 Eshop)
2008-7-9 深度学习alexa排名提升专家 v1.0
2008-7-9 BBSXP 2008 Build 8.0.5 正式版
2008-7-9 一句话快速信息发布系统 修正完美
2008-7-9 ACTCMS网站管理系统 v2.0 Build
2008-7-9 乐涛涛留言本 08版
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 GoodCalculator2.0版固件计算器
2008-7-5 RepoName源地址搜索工具 v1.21b
2008-7-5 AgileMessenger即时通讯工具 v1.
2008-7-5 TouchCopy多媒体管理软件 v3.13完
2008-7-5 VideosTone视频铃声 v1.1汉化破解
2008-7-5 TouchPad触摸板 v4.44破解版
2008-7-5 VideosTone破解补丁 v1.0
2008-7-5 Feeds GoogleReader客户端 v0.4.3


  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報