论文部分内容阅读
[摘 要] RSS作为xml数据源应用的一种方式,已经得到越来越广泛的应用,但随着RSS信息量的不断增大,RSS应用需要一种有效的数据处理方案拓展其应用面,本文根据xquery规范,使用Qexo模型,实现一种对RSS数据查询的方法。
[关键词] Xquery XML Qexo
一、前言
RSS起源于Netscape的MY Netscrpe项目,他是资源描述框架(Resource Description Framework, RDF )的一种应用,当时Netscrpe希望通过使用RSS来描述新闻报导并且允许通过选择想再个人门户上显示得新闻资源来构建他们自己的信息门户,所以得名为RDF站点概要(RDF Site Summery,RSS),通过树状结构变现文档来列出数据,目前很多门户网站都向用户提供了RSS文档。RSS文档作为一种资源共享模式的延伸,给用户提供了信息检索上的便利。
自1999年RSS诞生起,短短的10年间,RSS经历了飞速地发展,包括最近两年IETF(Internet Engineering Task Force,国际互联网工程任务组)发布的RSS新格式Atom在内,一共有10个版本的RSS格式,其中有很多版本已被废弃,但是还有很多依然在被许多互联网站点使用。
本文针对RSS提出一种可以实现的资源查询RSS方法。这种方法改变并简化网站对RSS的管理维护,改变信息网站对RSS的管理模式,同时又使得用户可以更自由地选择自己所需要的RSS资源,使RSS可以得到更充分的应用。
二、基于Xquery的RSS资源查询方法
本文借鉴Xquery规范,使用Qexo框架实现对RSS数据管理,Xquery是由W3C组织针对对xml数据源查询管理制定的一套查询语言规范,根据Xquery规范,查询xml数据可以和sql语言一样简单。for对应select..from语句,选择RSS数据资源地址,where为条件语句,return返回一个值。以下是xquery制定下对xml数据检索的语句。
for $i in doc(“url”)/root/element
where $i/itemname2> 30
return $i/itemname
Qexo模型是由java语言编译而成,使用了kawa框架进行转化为符合Xquery规范的xml数据查询模型。Qexo通过拦截所有xql结尾的文件,把xquery查询语句读入KawaPageServlet中,并对其中的查询语句进行编译执行,最后再返回用户所需要的XML资源显示。基于这种对于XML格式数据的操作,Qexo完全可以应用到RSS的数据管理上。把Qexo比作一个RSS过滤器,把RSS资源根据要求过滤为相应的RSS结果集输出。由于Qexo输出的依然还是RSS格式文档,这样,就不需要再设计程序把其转化为原来的格式或HTML格式,一般的IE浏览器可以直接显示输出RSS结果集。
对于数据的基本操作一般包括查询,排序,归并等,这里使用声明函数编写最常用的数据处理操作:
函数写入RSS或Atom的pubdate(文件的日期),可以自动对这些信息进行排序。
对RSS进行查询:
declare function local:rss-inquiry ($url)
{
for $b in doc($url) /rss/channel/item
where $b/ pubDate > 2008-5-26
return local:rss-row($b/link/text(), $b/title/text(),$b/ description /text())
}
Xquery根据where条件句筛选RSS数据,并返回用户指定元素集。
Qexo将过滤指令函数嵌入到用来生成输出格式的文档(*.xql)中后。在前台页面调用这些函数时,通过项目调用saxon2.jar包,使用{local:FunctionName(“url”)}调用当页函数进行操作处理出来的,url是从门户网站抓取来的RSS地址。通过这种查詢RSS方式,用户不仅可以从定制更加个性化的RSS资源库,即满足所需即所得,同时,对于提供RSS的网站,也可以简化工作量,提高效率,网站可以把所有的RSS资源合并成一个文档管理,并使用xquery查询修改对其进行更新,而用户则可以使用xquery把抓取过来的RSS资源根据自己的需要进行筛选、归类,实现正真意义上的个性化信息索取。
三、总结
在20世纪90年代末,博客软件以及web门户的开发者需要一种标准的数据格式,以便他们能够轻松地联合web上的内容,因此RSS,Atom就此诞生了,RSS从出现到现在10个年头里,将来的web的许多应用都将基于RSS,也正是这个原因,对于RSS的具有数据处理方法也将是一种必要的网页搜索功能得到更广泛的应用,本论文对RSS的数据管理提出了一种基于Qexo模型可行的实现方式,使RSS查询更易管理,为RSS的发展提供了一个可行的方案。
参考文献:
[1]Xquery1.0 An XML Query Language[EB/OL]http://wwww.w3c.org/TR/2005/CR-xquery~20051103
[2]使用 XQuery开发mashup[EB/OL]http://www.mp3sea.net/XML/[2007~03~22]
[关键词] Xquery XML Qexo
一、前言
RSS起源于Netscape的MY Netscrpe项目,他是资源描述框架(Resource Description Framework, RDF )的一种应用,当时Netscrpe希望通过使用RSS来描述新闻报导并且允许通过选择想再个人门户上显示得新闻资源来构建他们自己的信息门户,所以得名为RDF站点概要(RDF Site Summery,RSS),通过树状结构变现文档来列出数据,目前很多门户网站都向用户提供了RSS文档。RSS文档作为一种资源共享模式的延伸,给用户提供了信息检索上的便利。
自1999年RSS诞生起,短短的10年间,RSS经历了飞速地发展,包括最近两年IETF(Internet Engineering Task Force,国际互联网工程任务组)发布的RSS新格式Atom在内,一共有10个版本的RSS格式,其中有很多版本已被废弃,但是还有很多依然在被许多互联网站点使用。
本文针对RSS提出一种可以实现的资源查询RSS方法。这种方法改变并简化网站对RSS的管理维护,改变信息网站对RSS的管理模式,同时又使得用户可以更自由地选择自己所需要的RSS资源,使RSS可以得到更充分的应用。
二、基于Xquery的RSS资源查询方法
本文借鉴Xquery规范,使用Qexo框架实现对RSS数据管理,Xquery是由W3C组织针对对xml数据源查询管理制定的一套查询语言规范,根据Xquery规范,查询xml数据可以和sql语言一样简单。for对应select..from语句,选择RSS数据资源地址,where为条件语句,return返回一个值。以下是xquery制定下对xml数据检索的语句。
for $i in doc(“url”)/root/element
where $i/itemname2> 30
return $i/itemname
Qexo模型是由java语言编译而成,使用了kawa框架进行转化为符合Xquery规范的xml数据查询模型。Qexo通过拦截所有xql结尾的文件,把xquery查询语句读入KawaPageServlet中,并对其中的查询语句进行编译执行,最后再返回用户所需要的XML资源显示。基于这种对于XML格式数据的操作,Qexo完全可以应用到RSS的数据管理上。把Qexo比作一个RSS过滤器,把RSS资源根据要求过滤为相应的RSS结果集输出。由于Qexo输出的依然还是RSS格式文档,这样,就不需要再设计程序把其转化为原来的格式或HTML格式,一般的IE浏览器可以直接显示输出RSS结果集。
对于数据的基本操作一般包括查询,排序,归并等,这里使用声明函数编写最常用的数据处理操作:
函数写入RSS或Atom的pubdate(文件的日期),可以自动对这些信息进行排序。
对RSS进行查询:
declare function local:rss-inquiry ($url)
{
for $b in doc($url) /rss/channel/item
where $b/ pubDate > 2008-5-26
return local:rss-row($b/link/text(), $b/title/text(),$b/ description /text())
}
Xquery根据where条件句筛选RSS数据,并返回用户指定元素集。
Qexo将过滤指令函数嵌入到用来生成输出格式的文档(*.xql)中后。在前台页面调用这些函数时,通过项目调用saxon2.jar包,使用{local:FunctionName(“url”)}调用当页函数进行操作处理出来的,url是从门户网站抓取来的RSS地址。通过这种查詢RSS方式,用户不仅可以从定制更加个性化的RSS资源库,即满足所需即所得,同时,对于提供RSS的网站,也可以简化工作量,提高效率,网站可以把所有的RSS资源合并成一个文档管理,并使用xquery查询修改对其进行更新,而用户则可以使用xquery把抓取过来的RSS资源根据自己的需要进行筛选、归类,实现正真意义上的个性化信息索取。
三、总结
在20世纪90年代末,博客软件以及web门户的开发者需要一种标准的数据格式,以便他们能够轻松地联合web上的内容,因此RSS,Atom就此诞生了,RSS从出现到现在10个年头里,将来的web的许多应用都将基于RSS,也正是这个原因,对于RSS的具有数据处理方法也将是一种必要的网页搜索功能得到更广泛的应用,本论文对RSS的数据管理提出了一种基于Qexo模型可行的实现方式,使RSS查询更易管理,为RSS的发展提供了一个可行的方案。
参考文献:
[1]Xquery1.0 An XML Query Language[EB/OL]http://wwww.w3c.org/TR/2005/CR-xquery~20051103
[2]使用 XQuery开发mashup[EB/OL]http://www.mp3sea.net/XML/[2007~03~22]