Hi Daniel,
A drawback with using the some extension of the VPCs for inter
block communication is that it ties the communications to the
specific sitemap component APIs, so they are not usable for
communication with non sitemap blocks.
What I would propose is to create some new pipeline components that
calls postable sources, and make the block protocol postable. Then
we have four cases for the different combinations of XML or non XML
input and output respectably:
non XML -> non XML
<map:read type="service" src="block:b:/foo1"/>
non XML -> XML
<map:generate type="service" src="input.txt">
<map:parameter name="service" value="block:b:/foo2"/>
</map:generate>
XML -> XML
<map:transform type="service" src="block:b:/foo3"/>
XML -> non XML
<map:serialize type="service" src="block:b:/foo4"/>
I think this is the way we should do it. Using the source interface
it is possible to communicate with simple servlets, with the sitemap
components, it is easy to use from the sitemap.
A tricky thing is of course to get rid of buffering and serializing
followed by parsing steps for calls to services that have XML input
and/or output. But I think that 1) the problem is solvable and 2)
we don't have to solve it in the first implementation.
What is the exact interface that the BlockSource has to implement?
Then I could start looking into implementing the interface.
Anyway: Is it possible to apply Alexander's original patch, as we
need it in our application and it does not seem to invasive from my
point of view?
Lars
--
Lars Trieloff
visit http://www.mindquarry.com/