浏览器中使用Xquery

来源 :硅谷 | 被引量 : 0次 | 上传用户:hurusato09
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  现在,浏览器已经不再是一个简单的浏览引擎,它已经发展成了一个完备的程序平台。在几种不同的在浏览器中嵌入程序的方法中,最流行的一个要数JavaScript。其他的方法包括Flash,Java Applets,Google Web Toolkit等。在这里,我们继续这种使用服务器端编程语言进行客户端编程的意图,不过我们不再讨论使用Java,而是使用XQuery家族。XQuery是专门针对XML的查询和控制语句,同时它也适用于HTML。
  对XQuery语言标准的定义工作已经于2007年初完成,XQuery = XML Query,是W3C所制定的一套标准,用来从类XML文档中提取信息,类XML文档可以理解成一切符合XML数据模型和接口的实体。工业界不断的致力于将XQuery用于数据库查询控制以及商务逻辑程序。我在这里想说明XQuery同样可以用于客户端,并且可以将其运行在客户端:它为编程者提供了高度抽象的,灵活而强大的声明式的语法。只用少量几行的代码就可以对HTML文档进行显著的操作。另外,将XQuery用作一种客户端语言可以解决几个重要的问题:① Xquery可以引进模块化,允许客户端运行更大的应用程序;② 由于XML在本地进行处理,因此它消除了XML查询和控制的不匹配的阻碍;③ XQuery代码可以在不同的浏览器之间以及客户端和服务器端之间移植。现在,在服务器上的一个文件中可以包含多达五种的编程语言(例如:Java,JSP,HTML,SQL,JavaScript)。有了XQuery家族,就只剩下一种单一的语言来处理数据库查询,业务逻辑,网页服务器端的生成和客户端的控制。目前的XQuery标准之缺少一点功能来允许进行客户端编程和支持AJAX应用程序开发。我在这里提出了方案来弥补这一空白,是XQuery成为一个全功能的客户端编程语言。
  如下图,我为微软浏览器建立一个扩展。首先,浏览器接收并解析一个XHTML文档,然后它生成了文档对象模型(DOM),呈现在网页中并初始化我们的扩展。XQuery引擎接收XQuery代码。在这里我们适用开源的Zorba做XQuery引擎。XQuery引擎在DOM上实施XML数据模型(XDM):由此,Zorba修改了XDM,同时也修改了浏览器的DOM。
  
  
  
  
  
  
  
  
  
  
  
  我们扩展了XQuery的语法以注册事件监听器来处理网络服务调用以及访问HTML元素的风格。
  下面这个例子表现了DOM是如何被查询和控制,以及在浏览器中XQuery是怎样进行时间处理的。下面的HTML网页包含了一个XQuery脚本,动态生成了加减乘除表。
  
  Table Generation: <br>  Demonstration
  
  
  

XQuery Table Generator


  
  
  
  
  
Number of rows:
    name="nbrows" value="0"/>
  
Number of columns:
    name="nbcolumns" value="0"/>
  

  
  
  
  
  

  
  该网页的body最初含有两个允许用户输入输出表的行数和列数的文本框,以及用户可以点击的加减乘除四个按钮。
  网页的头包含一个含有XQuery代码的脚本标签,其类型属性被设置为
  
  “Text/xquery”。XQuery代码首先定义了一个新的时间监听器generateTable。
  另外,脚本注册了点击事件的监听器。监听器用事件节点作参数。这个事件节点就是一个XML所谓节点,包含事件信息。例如如果用户点击+按钮:
  
  
  
  

  ...
  

  这个函数首先使用事件节点去访问被点击的按钮的值并将他存储位参数$operation的值。然后网页中的表就被动态的替换成新的表格。首先根据文本框中读入的数字生成行,然后对每一行重复生成列,从而生成了每一格。在每一格中,根据参数$operation的值,进行性应的运算得到数据。最后,函数generateTable与事件网页中的按钮点击事件“onClick”绑定。
其他文献
摘要: 通过对工控机及PLC的性能及特点的描述,阐述它们在联合站自动控制中的应用及前景。  关键词: 联合站;自动控制;工控机;PLC   中图分类号:TP2文献标识码:A文章编号:1671-7597(2010)0220034-01
摘要: 针对目前大部分政务网比较分散,各厅局委各自一独立网络的建设状况,提出利用MPLS VPN技术进行整合,详细介绍整合的步骤、方案和注意事项。  关键词: 电子政务网;MPLS VPN  中图分类号:TN92文献标识码:A文章编号:1671-7597(2010)0220033-01
摘要: 无线局域网得到越来越广泛的应用,在带来方便的同时也带来新的安全问题。因此,从无线局域网的标准,面临的问题做简要分析,并给出解决无线局域网安全问题的防范措施。  关键词: 无线局域网;IEEE 802.11;网络安全  中图分类号:TP3文献标识码:A文章编号:1671-7597(2010)0220054-01
摘要: 目前,医院信息网络系统的建立成为医院现代化的代表之一,其安全性直接影响到医院内部的各种信息和数据的安全。由此可见,加强医院局域网的安全管理是极其重要的一个环节,应引起社会的高度重视。  关键词: 医院局域网;安全管理;网络设备  中图分类号:TP3文献标识码:A文章编号:1671-7597(2010)0220055-01
摘要: 随着信息技术的快速发展,电子档案的数量逐年增加,档案管理的电子化水平不断提升,存在的问题也日见凸显。应该采取切实办法加以解决,不断提升基层档案管理水平,提高电子档案的利用率,以发挥其应有的作用。  关键词:电子档案;问题;利用  中图分类号:G27文献标识码:A文章编号:1671-7597(2010)0220059-01