That did the trick! thanks! On Wed, Mar 30, 2011 at 1:31 PM, Steven A Rowe <sar...@syr.edu> wrote:
> Hi Marcelo, > > Try adding the 'method="text"' attribute to your <xsl:output> tag, e.g.: > > <xsl:output media-type="text/json; charset=UTF-8" method="text" /> > > If that doesn't work, there is another attribute "omit-xml-declaration" > that might do the trick. > > See http://www.w3.org/TR/xslt#output for more info. > > Steve > > > -----Original Message----- > > From: Marcelo Iturbe [mailto:marc...@santiago.cl] > > Sent: Wednesday, March 30, 2011 1:24 PM > > To: solr-user@lucene.apache.org > > Subject: Question regarding XSLT > > > > Hello, > > I currently have set up Solr working and I am doing tests with the XSL > > stylesheets. > > > > I had no problem in generating HTML files, but while trying to generate > > Json > > files I noticed something odd.. > > > > I am calling Solr with the following URL: > > > http://172.16.0.30:8983/solr/gcontacts/select?q=apache*~&fl=all_text&wt=xs > > lt&tr=example.xsl > > > > What I noticed is, that no matter what you place in the XSLT file, you > > ALWAYS get > > <?xml version="1.0" encoding="UTF-8"?> > > as the first line of the document. Is there a way to avoid this? > > > > This is the XSL that I am using: > > > > <xsl:stylesheet version='1.0' > > xmlns:xsl='http://www.w3.org/1999/XSL/Transform' > > > > > <xsl:output media-type="text/json; charset=UTF-8" /> > > > > <xsl:template match='/'> > > searchAsYouType.handleAjaxResponse({"query":"term", > > "results":[<xsl:apply-templates select="response/result/doc"/>]}) > > </xsl:template> > > > > <xsl:template match="doc"> > > <xsl:variable name="pos" select="position()"/> > > <xsl:apply-templates> > > <xsl:with-param name="pos"><xsl:value-of > > select="$pos"/></xsl:with-param> > > </xsl:apply-templates> > > </xsl:template> > > > > <xsl:template match="doc/arr" priority="100"> > > <xsl:for-each select="*"> > > {"name":"<xsl:value-of > > select="."/>","type":"text/html","content":"","moreDetailsUrl":" > > http://somedomain.com/","style":"normal"}, > > </xsl:for-each> > > </xsl:template> > > > > <xsl:template match="*"/> > > > > </xsl:stylesheet> > > > > This produces the following text: > > <?xml version="1.0" encoding="UTF-8"?> > > searchAsYouType.handleAjaxResponse({"query":"term", "results":[ > > {"name":"Apache > > Server","type":"text/html","content":"","moreDetailsUrl":" > > http://somedomain.comn/","style":"normal"}, > > ... > > > > Since the first line is <?xml version="1.0" encoding="UTF-8"?>, it is > > killing my script. > > > > did I miss something? > > > > Thanks for the help. >