首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Java的OpenSearch兼容响应

来自Java的OpenSearch兼容响应
EN

Stack Overflow用户
提问于 2013-10-22 23:35:08
回答 2查看 1.4K关注 0票数 0

下面是一个示例OpenSearch描述文件:

代码语言:javascript
复制
http://webcat.hud.ac.uk/OpenSearch.xml

当我像这样发送查询时:

代码语言:javascript
复制
http://webcat.hud.ac.uk/perl/opensearch.pl?keyword=new&startpage=1&itemsperpage=20

我得到了一个与OpenSearch兼容的响应。我如何在Java语言中实现OpenSearch规范,或者有没有库,或者有没有可以从它生成Java代码的xsd?

EN

回答 2

Stack Overflow用户

发布于 2013-10-26 00:52:43

根据OpenSearch website的“阅读OpenSearch”部分,有一个名为Apache Abdera的Java库可以做到这一点。我自己没有用过它,所以我不能评论它的质量,但它应该值得一看--显然它既可以解释又可以创建OpenSearch响应,所以这可能就是你要找的。

或者,有相当多非常好的OpenSearch解析器(请参阅this question获得一些建议),因此为简单的XML文件编写您自己的解析器应该不是太困难,因为full specification可以在线获得。

至于XSD,我找不到一个“官方”的,但在各种经过测试的开源项目中都有用于OpenSearch的XSD,您可以使用,例如this one,它是名为"OpenSearch验证器“的项目的一部分。

编写OpenSearch结果的另一个潜在选择是非常成熟和广泛使用的Apache Lucene库,该库位于先前链接的OpenSearch网站中的“编写OpenSearch结果”软件列表中。

票数 2
EN

Stack Overflow用户

发布于 2014-12-17 22:16:54

ROME还通过其ROME Module A9 OpenSearch支持OpenSearch。

示例用法:

代码语言:javascript
复制
SyndFeed feed = new SyndFeedImpl();
feed.setFeedType(feedType);

// Add the opensearch module, you would get information like totalResults from the
// return results of your search
List mods = feed.getModules();
OpenSearchModule osm = new OpenSearchModuleImpl();
osm.setItemsPerPage(1);
osm.setStartIndex(1);
osm.setTotalResults(1024);
osm.setItemsPerPage(50);

OSQuery query = new OSQuery();
query.setRole("superset");
query.setSearchTerms("Java Syndication");
query.setStartPage(1);
osm.addQuery(query);

Link link = new Link();
link.setHref("http://www.bargainstriker.com/opensearch-description.xml");
link.setType("application/opensearchdescription+xml");
osm.setLink(link);

mods.add(osm);

feed.setModules(mods);
// end add module
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19522275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档