[ 
https://issues.apache.org/jira/browse/SOLR-285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530453
 ] 

Thomas Peuss commented on SOLR-285:
-----------------------------------

The major problem I have with this solution is that it holds the whole 
transformed document in memory. My suggestion is to use a stream transformation 
technology like Joost (http://joost.sourceforge.net/). Here is a little snippet 
what you can do:
           PipedReader read=new PipedReader();
           PipedWriter writer=new PipedWriter(read);
                        Processor proc = 
                           new Processor(new InputSource(new 
FileReader("order-group.stx")), pContext);
            StreamEmitter emitter = StreamEmitter.newEmitter(writer,
                    "UTF-8",proc.outputProperties);
            proc.setContentHandler(emitter);
            proc.setLexicalHandler(emitter);

            proc.parse(new InputSource(new FileReader("order.xml")));

            BufferedReader bufRead=new BufferedReader(read);
            System.out.println(bufRead.readLine());

So you can give this Reader directly to the XmlUpdateHandler then and you are 
done without buffering the transformed document in memory.

The downside of course is that you have to provide STX-files instead of 
XSL-files. But the syntax is very similar.

What do you think?

> Server Side XSLT for update processing
> --------------------------------------
>
>                 Key: SOLR-285
>                 URL: https://issues.apache.org/jira/browse/SOLR-285
>             Project: Solr
>          Issue Type: New Feature
>          Components: update
>            Reporter: Hoss Man
>         Attachments: xslt_updater.diff
>
>
> Ideally, we should support a way for people to specify send XML 
> ContentStreams to Solr and do server side XSLT processing to convert it (much 
> like the XSLTResposneWriter supports server side XSLT processing of responses.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to