hi Stephan, by the way are you in Spain right now?
see my answer below: -----Ursprüngliche Nachricht----- Von: Stefan Klein [mailto:[EMAIL PROTECTED] Gesendet: Freitag, 21. März 2003 10:48 An: [EMAIL PROTECTED] Betreff: Re: database forms >Hi Thorsten, > >thanks for your reply. I've been pondering about your mail for a little >while now. The xsl looks like a clever idea. A few things remain unclear to >me: > >What way do you use to get the data out of the DB. SQL-Transformer? -> No, because I need more logic (e.g. date format ...) [#1]! I use esql and xsp! a)cocoon.xconf.snippet <jdbc name="D200301Insta"> <pool-controller min="5" max="10"/> <dburl>jdbc:odbc:MyDB</dburl> <user/> <password/> </jdbc> b) sitemap.snippet <map:match pattern="report-info-*.xml"> <map:generate type="serverpages" src="global/reports/xsp/info.xsp"> <map:parameter name="pool" value="{1}"/> </map:generate> <map:serialize type="xml"/> </map:match> c) xsp.snippet compare [#1] <xsp:logic>...</xsp:logic> <esql:connection> <esql:pool><xsp:expr>GETpool</xsp:expr></esql:pool> <esql:execute-query> <esql:query> select * from IDM_info_xml Where info1_date = #<xsp:expr>timeOfDay</xsp:expr># </esql:query> ... d) I call it like that: http://localhost:8080/myapp/report-info-D200301Insta.xml?date=13.03.2003 >What do you refer to by static and variable data? Like I stated I am working with call agent db. For me the adress and the contact person are static because they have always the same format. I have to write a <xsl:template match="..."/> for each of this field. e.g. <address> <bname1>Weidmüller GmbH & Co.</bname1> <bname2 /> <bname3 /> <street>P.O. Box 2807</street> <ZIP>33058</ZIP> <City>Paderborn</City> <country /> <telephone_number>05252-960-350</telephone_number> </address> will be always formated like this and should be on a certain place within my html-form! Where the campaign is dynamic! I have results of the questions which are formated like that: <Aa>yes</Aa> <Ab>bigger then ...</Ab> There I have to add the question (different table). the table qusetion might look like this <Aa>Did you receive our mailing?<Aa>. But there can be 1 to n answers and questions. >static=the definition of the form (as in your XML example), variable=the >data from the DB? No like I stated before! That was a different example that I fixed at home! >How do you get the data back into the database? using actions, I suppose? I am still not really certain about that! I still in development of the html Form. I tried with SQL-Transformer and esql and both were working fine. But I think I will have a look at actions as well. But still I first have to really decide about the data model for the db-server. >In your example you've only got textboxes. With listboxes (<select> in HTML) >it gets a bit trickier, since you'll have to get the possible values from a >different table first. Have you got an idea for that, too? >Maybing using XSP-ESQL? nested esql like that: <esql:connection> <esql:pool> <xsp:expr>GETpool</xsp:expr> </esql:pool> <esql:execute-query> <esql:query> select * from IDM_info_xml Where info1_date = #<xsp:expr>timeOfDay</xsp:expr># </esql:query> <esql:results> <esql:row-results> <xsp:logic>int xid =<esql:get-int column="info_1empf"/>;</xsp:logic> <client> <xsp:attribute name="id"> <esql:get-string column="Cust_No"/> </xsp:attribute> <address> <bname1> <esql:get-string column="business_name"/> </bname1> <bname2> <esql:get-string column="business_name_2"/> </bname2> <bname3> <esql:get-string column="business_name_3"/> </bname3> <street> <esql:get-string column="address"/> </street> <ZIP> <esql:get-string column="zip_code"/> </ZIP> <City> <esql:get-string column="city"/> </City> <country> <esql:get-string column="country"/> </country> <telephone_number> <esql:get-string column="telephone_number"/> </telephone_number> </address> <aps> <esql:execute-query> <esql:query> select * from ap_tab where ap_id =<xsp:expr>xid</xsp:expr> </esql:query> <esql:results> <esql:row-results> <ap> <salutation> <esql:get-string column="salutation"/> </salutation> <titel> <esql:get-string column="titel"/> </titel> <forename> <esql:get-string column="forename"/> </forename> <department> <esql:get-string column="department"/> </department> <surname> <esql:get-string column="surname"/> </surname> <textension> <esql:get-string column="direct_dial_"/> </textension> </ap> </esql:row-results> </esql:results> <esql:no-results> <no-results/> </esql:no-results> <esql:error-results/> </esql:execute-query> </aps> </client> </esql:row-results> </esql:results> <esql:no-results/> <esql:error-results/> </esql:execute-query> </esql:connection> What do you think? King regards Thorsten Reference: [1] http://wiki.cocoondev.org/Wiki.jsp?page=XSPTransformCustomDate ----- Original Message ----- From: "Scherler" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, March 20, 2003 5:58 PM Subject: Re: database forms > Hi Stefan, > > I have to master the same task. I am working in a telephone marketing > department and writing the call agent DBs. I will introduce the 3 tier > modell and will have to get rid of my formulars (VBA). > We have some static fields (which are always the same -> address & > contact person) and some variable (we have different campaigns where the > questions to ask will always be different) > > I thought about that: > 1) select a db (pool) => campaign Example > 2) get the static data with <xsl:template match="static"/> > 3) get the variable data and put it in a different tag > 4) use a transform to create a html form (including validation through > JavaScript) > > to 4) like that xslt: > <xsl:template match="input/*"> > <input> > <xsl:attribute name="type"><xsl:value-of > select="name()"/></xsl:attribute> > <!-- --> > <xsl:choose> > <xsl:when test="normalize-space(text())!=''"> > <xsl:attribute name="value"><xsl:value-of > select="normalize-space(text())"/></xsl:attribute> > </xsl:when> > </xsl:choose> > </input> > </xsl:template> > > with this xml: > <form action="http://www.google.com/search" name="f"> > <input> > <hidden name="ie">UTF-8</hidden> > <hidden name="oe">UTF-8</hidden> > <hidden name="hl">eng</hidden> > <text name="q" maxLength="256" size="55"/> > <submit name="btnG">Google-Search</submit> > </input> > <script>document.f.q.focus();</script> > </form> > > ... > > King regards > Thorsten > > Stefan Klein wrote: > > >Hi all, > > > >I am looking for the quickest way to write database forms. It is something > >that I will be doing thousands of times, so the goal is to find some really > >efficient way. > > > >Ideally it would look something like: > ><table>table name</table> - selects the table > > > ><inputbox ref="field" /> - a simple input field bound to a field in the > >table > > > ><listbox ref="field" values="table.field" entries="table.field"/> - a > >listbox bound to a field, entries defines the options visible to the user, > >values defines what is internally stored in the field. obviously the table > >would be the same (useful for foreign key entries) > > > ><checkbox ... > > > > > >The form would be populated automatically with the database values (the > >current record being selected by a request parameter) and update the values > >on submit. > > > >What I've been pondering about for quite a while now is what would be the > >best way to implement this in cocoon. > > > >I looked into the "departments and employees"-tutorial delivered with > >cocoon2, which is quite close to what I'd like, but still not it. For > >example I don't like having to define listboxes and populate the form by > >using separate esql-statements. What data to fill into the form should > >already be specified in the form definition. > >My first idea was to start from there and implement a logicsheet that would > >allow me to define tags like the ones above. > > > >Then I looked into xmlforms and liked them a lot. However: > >1. I am still looking for a tag reference. Maybe someone can help out. > >2. I am still not entirely sure how they might help me. Surely it would be > >possible to write a JavaBean that accesses the database, but doing that > >every time again is not the simplification I am looking for. Is there a way > >to reference database fields directly from the forms? > > > > > >Basically, I would be very grateful for any kind of hint you can offer on > >how to use xmlforms for this or on other ways of accomplishing the task > >(maybe there would even be ways to take the database description and > >generate a form from it?). I am quite stuck for ideas, but it seems a > >standard job so I am sure many people have already found sufficient ways to > >do it. > > > > > >Thanks in advance > >Stefan > > > > > > > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]