Joerg Heinicke wrote: Ah, if you have already XML and need it in the backend too, then the conversion is not of sense of course. I thought you convert it in the generator/transformer from/to XML, e.g. via castor or another java/xml convertor.
No, it is already XML. No conversion done.
Ok, than let's go on with it:
<map:match pattern="form"> <!-- pass the control to flowscript --> <map:call function="form"/> </map:match>
Here is the binding framework missing, I think. Is your solution without using the binding framework? How is the binding form vars <=> input xml doc done?
The binding example uses parameters.
<map:call function="woody">
<map:parameter name="function" value="form2xml"/>
<map:parameter name="form-definition" value="forms/wd_movie.xml"/>
<map:parameter name="documentURI" value="http://localhost/cineportal/movieinfo.xml"/>-->
<map:parameter name="bindingURI" value="forms/wb_movie.xml"/>
</map:call>
<map:match pattern="shwoForm"> <!-- show the form to the user --> <map:generate src="formTemplate.xml"/> <map:transform type="woody"/> <map:transform type="woody-samples-styling.xsl"/> <map:trasnform type="i18n"/> <map:serialize type="html"/> </map:match>
That is nearly the same.
<map:match pattern="getData"> <!-- flowscript calls this pipeline to get the data --> <map:generate type="yourGenerator"/> <map:serialize type="xml"/> </map:match>
Done this, too.
<map:match pattern="showResult"> <!-- after finishing you maybe want to present a result, below is just an example --> <map:generate type="xsp" src="result.xsp"/> <map:transform src="result2html.xsl"/> <map:serialize type="html"/> </map:match>
Don't wanna use xsp. Is there a alternative in this case? I use usually JXTemplate Generator.
function form() { initializeForm(); //pseudo code
What do you mean with this?
//call pipeline to get the data
var doc = cocoon.processPipelineToDOM("getData");
Ok, that sounds good.
//bind the data to the form
form.load(doc);
See above. How is binding done??
//show the user the form
form.showForm("showForm");
//save the data back to the XML
form.save(doc);
//get the object that will pass the data back to db or what ever
var component =
cocoon.createObject("your.component.FormerlyKnownAsTransformer");
component.store(doc); //pseudo code
This is not as easy. Because my transformer has configuration files and so on.
Pass some of this configuration to my backend processes. (it's not just one class)
cocoon.release(component); //at the end show a result cocoon.sendPage("showResult"); }
I hope this code is understandable.
Yes, it is!
I kicked your transformer and made a pure component out of it. A transformer > should in theory only transform documents and not interact with a backend.
What about a SQLTransformer? ;-)
Also calling a pipeline that controls the storage sounds not that preferable. In the above the flowscript controller has the control. I would maybe also abstain from the generator and call the same component. If you need the generator and the transformer in other cases, you could also call that component. That's better reuse I think.
WDYT?
Thanks for your proposal. See my questions above!
Christian
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
