这是一个示例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?
最佳答案
根据OpenSearch website的“读取OpenSearch”部分,有一个Java库可以做到这一点,称为Apache Abdera。我自己没有使用过它,因此我无法评论它的质量,但是它值得研究-显然它既可以解释也可以创建OpenSearch响应,因此这可能正是您要寻找的。
另外,有很多非常好的Java XML解析器(有关一些建议,请参见this question),因此为 XML文件编写自己的解析器并不难,因为full specification可在线获得。
至于XSD,我找不到“官方”的,但是在经过测试并且可以使用的各种开源项目中都有针对OpenSearch的XSD,例如this one,它是一个名为“ OpenSearch验证程序。”
编写OpenSearch结果的另一个潜在选择是非常成熟且使用广泛的Apache Lucene库,该库位于先前链接的OpenSearch网站中的“编写OpenSearch结果”软件列表中。