Render the search result using (opensearch/atom) xml format.

This commit is contained in:
Matthieu Gautier
2022-05-04 18:39:54 +02:00
parent c4f706863c
commit e5df5e936f
5 changed files with 66 additions and 3 deletions

View File

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Search: {{query.pattern}}</title>
<link>{{query.unpaginatedQuery}}&amp;format=xml&amp;start={{results.start}}&amp;pageLength={{pagination.itemsPerPage}}</link>
<description>Search result for {{query.pattern}}</description>
<opensearch:totalResults>{{results.count}}</opensearch:totalResults>
<opensearch:startIndex>{{results.start}}</opensearch:startIndex>
<opensearch:itemsPerPage>{{pagination.itemsPerPage}}</opensearch:itemsPerPage>
<atom:link rel="search" type="application/opensearchdescription+xml" href="{{protocolPrefix}}search/searchdescription.xml"/>
<opensearch:Query role="request"
searchTerms="{{query.pattern}}"{{#query.lang}}
language="{{query.lang}}"{{/query.lang}}
startIndex="{{results.start}}"
count="{{pagination.itemsPerPage}}"
/>
{{#results.items}}
<item>
<title>{{title}}</title>
<link>{{absolutePath}}</link>
{{#snippet}}
<description>{{>snippet}}...</description>
{{/snippet}}
{{#bookTitle}}
<book>
<title>{{bookTitle}}</title>
</book>
{{/bookTitle}}
{{#wordCount}}
<wordCount>{{wordCount}}</wordCount>
{{/wordCount}}
</item>
{{/results.items}}
</channel>
</rss>