cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lai, Harry" <H...@coremetrics.com>
Subject RE: Transformer writing
Date Fri, 10 May 2002 17:31:23 GMT
Hi Ben,

The simplest approach I can think of would be to build a Transformer that
wraps your library.  Your Transformer would have to:

1. Convert SAX events to a stream on the input side
2. Pass that stream to your library
3. Get the output stream or Document from your library
4. Convert that stream/Document to SAX events on the output side (which is
how you
   would insert the results back into the pipe).

The biggest problem I see, though, is that you're going to take potentially
significant performance hits for steps 1 and 4.

Another possibility is that if the output of your library is the final
output that you want your pipeline to render, you could wrap your library in
a serializer (which outputs a stream instead of SAX events), which would
allow you to skip step 4 (i.e. you'd only do the stream-SAX conversion
once).

Harry


-----Original Message-----
From: Ben Skelton [mailto:bskelton@gip.com]
Sent: Friday, May 10, 2002 11:55 AM
To: cocoon-users@xml.apache.org
Subject: Transformer writing


Hallo,

I am trying to get my head around the cocoon internals. In particular I have

an old library which takes XML in an InputStream, performs some
(significant) 
processing and produces XML making it available in an OutputStream (a 
Document is also available).

Is it possible to insert this processing into a cocoon pipe? I have had a
look 
at the source code for Transformers, in particular CIncludeTransformer which

I see as the closest example. 

I could write a Transformer to parse the input into the Transformer, on the 
appropriate endElement, the object could go away and do something, but I 
can't see how to insert the results back into the pipe.

Does any one have a simple example of this, or an easy explanation they
would 
share? Are there any resources for extending cocoon available? - I see on 
Amazon that there'll be a couple of books published soon.

Many thanks
--Ben

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail: <cocoon-users-help@xml.apache.org>

---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <cocoon-users-unsubscribe@xml.apache.org>
For additional commands, e-mail: <cocoon-users-help@xml.apache.org>


Mime
View raw message