SRW/SRU协议的异构库检索详解(二) _SRW

SRW是一个基于XML 的用于Internet 的信息检索和获取协议,它利用现已得到广泛应用的技术如 SOAP、XPATH 来完成信息请求和响应。

SRW中定义了三个基本操作:SearchRetrieve、Scan和Explain;

1、SearchRetrieve

客户端发送searchRetrieveRequest参数到服务器,服务器完成检索后发送响应参数searchRetrieveResponse回客户端,服务器以XML格式记录响应内容。

   其中searchRetrieveRequest包含以下参数:(*为必备项)

                version:客户端能理解的SRW的最高版本*

                  query:符合CQL语法的检索表达式*

  maximumRecords:客户端希望返回的最大记录数
          startRecord:返回的第一条记录在匹配记录集中的位置
       recordPacking:返回记录的格式 有 xml 和string 两种选择 如果 string  则表示要求服务
端对匹配记录进行转义处理
       recordSchema:返回记录的XML Schema
         resultSetTTL:客户端要求结果集在服务端保留的时间
              sortKeys:返回记录的排序字段
            stylesheet:客户端要求服务端插入到响应信息头部的XML 样式表地址
          recordXPath:该参数允许返回记录中的满足指定XPath的部分内容
extracRequestData:与检索请求相关的附加信息

 样例:

2、searchRetrieveResponse

                version:本响应遵循的SRW的版本

  numberOfRecords:检索请求匹配到的记录总数
           resultSetId:如果服务端支持resultSet 将在本项中返回resultSet的ID
  resultSetIdleTime:如果服务端支持resultSet 将在本项中返回resultSet在服务端保持的时间
                records:记录列表 每个记录都应该指定相关的XML Schema  并包括实际的记录内容
nextRecordPosition:返回的所有记录之后的下一条记录在匹配记录集中的位置
           diagnostics:出错信息
extraResponseData:与本响应相关的附加信息
echoedSearchRetrieveRequest:与本响应相关的请求信息

样例:

 

目前采用基于该协议对万方数据库进行检索,在返回结果中已能获取总条目数(numberOfRecord)、版本(version)、下一页开始出(nextRecordPosition)但在对返回类型是stringOrXmlFragment的recordData进行解析时一直无法获取详细结果,期待有此开发经历的朋友前来留言,帮助,谢谢!

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值