cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christian Rosenberger" <pieperm...@gmx.de>
Subject Re: Prefill form with Woody and XML without binding?
Date Wed, 12 May 2004 19:10:27 GMT
Just one additional questions.

The function processPipelineToDOM() is only available in CVS, isn't it?

How can I use it in 2.1.4? Is this just another javascript code? Can you 
post it to the list?

Thanks,
Christian


----- Original Message ----- 
From: "Christian Rosenberger" <piepermail@gmx.de>
To: <users@cocoon.apache.org>
Sent: Wednesday, May 12, 2004 9:03 PM
Subject: Re: Prefill form with Woody and XML without binding?


>
>> 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: users-unsubscribe@cocoon.apache.org
For additional commands, e-mail: users-help@cocoon.apache.org


Mime
View raw message