On Thu, 21 Feb 2002, Vadim Gritsenko wrote: > > From: Torsten Curdt [mailto:[EMAIL PROTECTED]] > > > > On Wed, 20 Feb 2002, Greg Weinger wrote: > > > > > > I have another one, it provides different functionality but it > > > features > > > > similar approach. As I don't have a name for this (multiplexer?), > here > > > > is the diagram: > > > > > > > > - pipeline1 - > > > > / \ > > > > request -> A -> X - pipeline2 - X -> C -> response > > > > \ / > > > > - pipelineN - > > > > > > > > Explanation: > > > > 1. Request goes in > > > > 2. Pipeline is being constructed from A, X, C > > > > 3. SAX events passed from the A to X, where they are dispatched > (same > > > as > > > > separator) to several other pipelines > > > > 4. SAX events passed from these events reassembled into the one > SAX > > > > stream by the same instance of X component > > > > 5. Result passed down the original pipeline to the C > > > > 6. C spits out the response > > > > > > > > Don't answer "hey, you can do this with content aggregator" - it > is > > > not > > > > true, this is a different thing. > > > > > > > > Waiting for comments... > > > > > > > > > Tell me if this is different from what you're talking about: a > > > Transformer/Generator pair that acts like a combination of > (modified) > > > FragmentExtractor and CInclude. > > > > > > Say we have a MultiplexingTransformer [MT] in a pipeline like this: > > > > > > > > > Request --> G -> T -> MT -> S --> Response > > > > > > > > > MultiplexingTransformer calls 1-n pipleines via the cocoon:/ > protocol. > > > The MultiplexingTransformer byte-compiles all the SAX events within > a > > > given element, like this: > > > > > > <mx:dispatch src="cocoon:/otheruri" > > > xmlns:mx="http://multiplexer"> > > > > > > . . . xml elements . . . > > > > > > </mx:dispatch> > > > > > > And forwards the XMLFragment in a request attribute. > > > > > > A MultiplexingGenerator [MG], at the head of each of the 1-n > pipelines > > > retrieves and serialzes the XMLFragment. > > > > > > Request --> MG -> T -> S --> Response > > > > > > This is very similar to something I'm currently working on. If > other > > > people would find it useful, I will generalize this and offer it up. > > > > > > Or did you have some other pipeline component magic in mind? :) > > > > > > Did I get you guys right? You want to merge XML streams? > > Split, pass through several pipelines, and merge together. > > > > Merging XML is a tough one... > > Not (much) tougher than CIncludeTransformer and ContentAggegator :)
Well, our CA is currently not really merging but including parts into a new document. I though that's the difference: merging instead of including. If not - I didn't get the difference to CA correctly... -- Torsten --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]