From: Demian K. <dem...@vi...> - 2013-05-09 15:49:07
|
Hmm... this makes me wonder if the whole problem has to do with the $lookfor variable passed to the XSLT. What happens if you follow this block of code: if ($this->searchType == 'newitem') { $lookfor = translate('New Items'); } else if ($this->searchType == 'reserves') { $lookfor = translate('Course Reserves'); } else { $lookfor = $this->displayQuery(); } with: $lookfor = "test"; (That should just pass "test" to the XSLT in place of the actual query). If that makes everything work right, then perhaps you just need to do some form of escaping or other sanitization of the $lookfor parameter prior to assigning it to the XSLT. The variable is only used for display purposes, so it doesn't really matter what you do to it. - Demian > -----Original Message----- > From: Chelsea Lobdell [mailto:clo...@sw...] > Sent: Thursday, May 09, 2013 11:42 AM > To: Demian Katz > Cc: vuf...@li... > Subject: Re: [VuFind-Tech] RSS Feed Bug > > Hi Demian, > > Attached is some error output we got from Firebug that directed us to line > 1494 in SearchObject/Solr.php. Maybe it will help determine if the XML is > invalid or if the XSLT is failing ... ? > > - Chelsea > > ----- Original Message ----- > From: "Demian Katz" <dem...@vi...> > To: "Chelsea Lobdell" <clo...@sw...>, vufind- > te...@li... > Sent: Thursday, May 9, 2013 11:20:17 AM > Subject: RE: [VuFind-Tech] RSS Feed Bug > > In VuFind 1.x, the RSS feed doesn't use Smarty templates at all. Instead, the > Solr result is transformed into an XML document using the PEAR XML_Serializer > class, and then that XML is transformed into RSS using the XSLT in > web/services/Search/xsl/json-rss.xsl. This is a convoluted process that is > hard to troubleshoot, and I didn't write the code, so I don't have great > advice about how to fix this problem... but either the generated XML is > invalid, or else the XSLT is failing somehow. Perhaps there is a way to get > more details out of the XSLTProcessor class, though I didn't see an obvious > answer in the PHP manual. > > For what it's worth, RSS generation has been completely rewritten (and made > more straightforward, I hope) for VuFind 2.0 -- the bug is not present there. > But obviously that doesn't help with the immediate problem! > > Any XSLT experts in the house who might have some suggestions about where to > look? If nobody else is able to help with this in a few days, remind me and I > can try to find time to dig a bit deeper. > > - Demian > > > -----Original Message----- > > From: Chelsea Lobdell [mailto:clo...@sw...] > > Sent: Thursday, May 09, 2013 11:10 AM > > To: vuf...@li... > > Subject: [VuFind-Tech] RSS Feed Bug > > > > We have noticed a bug with VuFind's RSS feed link. When a search has a > > lookfor variable that contains an apostrophe inside double quotes the > > RSS feed link will produce no results. An example is running a search > > for "plato's symposium". Here is a link to the results in our catalog. > > Click on the RSS link to view the bug. > > http://tripod.brynmawr.edu/find/Search/Results?lookfor="plato's+sympos > > ium"&typ > > e=AllFields&submit=Find > > > > If the double quotes are removed the RSS feed link works as expected. > > We also checked other potentially problematic characters in double > > quotes (such as: &, <, >) and they cause no problems. We traced the > > error back to this line "return $xsl->transformToXML($xml);" in > > /web/sys/SearchObject/Solr.php. We suspect the apostrophe is not being > > properly escaped and think this can either be addressed in > > interface/blueprint/Search/list.tpl (ideally) or > > web/sys/SearchObject/Solr.php. We tried altering the escape parameters in > list.tpl (html and htmlall) but this had no effect. > > > > Does anyone have any thoughts or advice on how to correct this issue? > > > > Chelsea Lobdell > > Library Applications Programmer > > Swarthmore College > > clo...@sw... > > (610)690-6818 > > > > > > ---------------------------------------------------------------------- > > -------- Learn Graph Databases - Download FREE O'Reilly Book "Graph > > Databases" is the definitive new guide to graph databases and their > > applications. This 200-page book is written by three acclaimed leaders > > in the field. The early access version is available now. > > Download your free book today! http://p.sf.net/sfu/neotech_d2d_may > > _______________________________________________ > > Vufind-tech mailing list > > Vuf...@li... > > https://lists.sourceforge.net/lists/listinfo/vufind-tech |