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.
>

Reply via email to