Patch that implements server-side XSLT transforms of query results.
The filter is activated by using select/html instead of select/ to run queries, and optionally adding a transform parameter to specify the XSLT transform to use, for example:
In which case my.xsl should be found in solr/conf/xslt/ with the example configuration. The default transform (solr/conf/xslt/query-to-html.xsl) outputs a simplistic HTML format.
Performance is suboptimal, as the filter reparses the XML output generated by Solr. Modifying the XMLWriter to output to a ContentHandler would be more efficient, but I didn't have time to go that far.
The TransformerProvider trivially caches the last Transformer used, could be improved using an LRU cache of several transformers, I haven't checked if Solr's infrastructure contains such an animal already.
The patch is all new files, except for adding this in web.xml before the first <servlet>:
<!-- apply the XSLT filter when select/html is used to make queries -->
I've left the client-side XSLT stuff (stylesheet parameter) as is for the moment.