基于XML的三层C/S模型
DOM实际上是一个应用编程接口(API),用来定义一种标准方法。通过这种方法,能够处理XML结构树的元素。对象模式控制着使用者如何同结构树交流,并且把所有树的元素作为对象暴露出来。DOM用扩展方式支持名域、数据类型、查询和XSL转化。
3. 基于XML的三层C/S模型(第2页)的应用实例
下面具体介绍如何实现基于XML的三层C/S模型(第2页),以我们做所过的三层C/S 模式的图书资料管理为例,它是基于XML表达、传输与处理的,其详细实现如下:
3.1 获取数据生成XML文档
中间层通过XML获取数据源数据,生成XML文档,其中每一的书目信息包括:书名、作者、图书简介、出版日期。下面所列的就是获取数据源的一段典型例程。
<%@ LANGUAGE=VBScript %>
<? XML VERSION="1.0" encoding="GB2312" ?>
<图书资料管理>
<%Set Connection=Server.CreateObject("ADODB.Connection")
Connection.
Open
Set ItemRecordset =Connection.Execute("select * from item ")
Do while Not ItemRecordset.EOF%>`
<书目>
<书名><%= ItemRecordset("书名") %></书名>
<作者><%= ItemRecordset("作者") %></作者>
<图书简介><%= ItemRecordset("图书简介") %></图书简介>
<出版日期><%= ItemRecordset("出版日期") %></出版日期>
</书目>
<%ItemRecordset.MoveNext
Loop%>
</图书资料管理>
3.2 XML文档通过HTTP从应用服务器传送到客户机层,并且支持XML更新功能,使得中间层或数据服务器上数据的变化可以传递给客户。
3.3 XML数据的在表示层(客户机层)的表达
发送到客户端的数据(图书资料管理数据),可以根据用户对象及其不同的应用要求有不同的显示形式。如下所示的XSL样式表,就是一个显示示例,将生成一个HTML文档,包括一个表格,其中的一行就为一个"书目"元素。
<xsl:template match="/">
<HTML>
<HEAD>
<TITLE>图书资料管理</TITLE>
</HEAD>
<BODY>
<TABLE>
<xsl:for-each select="图书资料管理">
<TR>
<xsl:for-each select="书目">
<TD>
<xsl:process-children/>
</TD>
</xsl:for-each>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML>
</xsl:template>
3.4 编辑、处理数据的实现
只要理解了中间层XML文档的数据,就能从任何地方处理和编辑数据(图书资料管理数据)。
如下例所示,LoadDocument程序打开XML文档,然后调用另一个程序DisplayNode,它用来显示文档的结构。LoadDocument传递给正在打开的XML文档的ChildNodes属性一个引用作为它的参数,同时传递一个整数用来标示开始显示的层次级别。代码利用参数来格式化在Visual Basic文档结构显示窗口中的文本。
DisplayNode属性的函数会遍历文档寻找需要的NODE_TEXT节点类型串,一旦代码找到一个NODE_T
《基于XML的三层C/S模型(第2页)》