下面是一个示例OpenSearch描述文件:
http://webcat.hud.ac.uk/OpenSearch.xml当我像这样发送查询时:
http://webcat.hud.ac.uk/perl/opensearch.pl?keyword=new&startpage=1&itemsperpage=20我得到了一个与OpenSearch兼容的响应。我如何在Java语言中实现OpenSearch规范,或者有没有库,或者有没有可以从它生成Java代码的xsd?
发布于 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结果”软件列表中。
发布于 2014-12-17 22:16:54
ROME还通过其ROME Module A9 OpenSearch支持OpenSearch。
示例用法:
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 modulehttps://stackoverflow.com/questions/19522275
复制相似问题