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]

Reply via email to