Reinhard Poetz skrev:
Grzegorz Kossakowski wrote:
In this case content of test.html is POSTed to the service and is
available to it by "service-consumer:" source. Generator in service
pipeline reads data from "service-consumer:" so this effectively
means that it reads "test.html" file, parsers it and returns SSAX
stream representing html content back to the calling pipeline.
Service generator and its behavior fits current meaning of a
generator component. Currently, we call a component "generator" if it
takes some input data (may it be non-XML) and emits SAX events based
on provided data, right?
Now, with service generator it means that generator redirects (posts)
incoming raw data to the service and expects SAX events as output
that it will pass down to the pipeline.
I hope this helps.
What about reversing the logic: Instead of
>>> <map:match pattern="test5">
>>> <map:generate type="servletService" src="test.html">
>>> <map:parameter name="service"
value="servlet:test2:/extract-html"/>
>>> </map:generate>
>>> <map:serialize type="xml"/>
>>> </map:match>
we could use
<map:match pattern="test5">
<map:generate type="servletService" src="servlet:test2:/extract-html">
<map:parameter name="data" value="test.html"/>
</map:generate>
<map:serialize type="xml"/>
</map:match>
It doesn't make that much difference for generators, but would save
one line each for serializers and transformers.
WDYT?
It would save a line, but especially for the generator it would obscure
the function. For all other generators the src parameter is used for
*reading* stream input. With your proposal the data parameter would
instead get that role and the src parameter would be used as something
that is a service that you post something to. I think that would be more
confusing.
Also for the servlet service transformer and serializer, "src" sound
like something you read from rather than something you post to.
/Daniel