My solution is to change the code in DatabaseAction.java to remove the table_name. from the variable names. I made this change to test it and it works. I suppose I need to change the code in such a way to allow a user to supply a configuration directive such as <append_table_name>false</append_table_name>. Is there any reason I should not do this or is there a better way?
I'm cross-posting this to the dev list. Bobby Mitchell wrote: > To start with, I apologize for posting so many different posts lately. > I'm stuck and I'm not sure which way to go, but I have been working to > find a solution. Please disregard the several earlier posts. > I'm trying to use XMLForms and Mod-db actions together. My problem > stems from the fact that mod-db uses request parameters from a key > column to set the ?'s in the query and when setting the request > parameters to the column values retrieved it sets them by appending > table_name. to the column/req-param name. My request parameters and > column names are the same. > > Assume my query is select ID, EMAIL from NIAC_MAILLIST where EMAIL=? > Mod-db is now looking for a request parameter called > NIAC_MAILLIST.EMAIL and if found it successfully grabs the data from > the database. Otherwise it exits. If I append > &NIAC_MAILLIST.EMAIL="b@n" to the query string mod-db works and > creates the variables for the data, but XMLForm generates an "Invalid > data format" error. I created a session attribute called > NIAC_MAILLIST.EMAIL and am setting it to EMAIL. If mod-db would set > the ? from the session attributes instead of request parameters I > could set it that way. Otherwise I need to find a way to get mod-db to > not append the table name to the front of the column. > Any ideas? > > database.xml > <root> > <connection>niac_db</connection> > <table name="NIAC_MAILLIST" alias="NIAC_MAILLIST"> > <keys> <key name="EMAIL" type="string" autoincrement="false"> > </key> > </keys> <values> > <value name="ID" type="int"></value> > <value name="EMAIL" type="string"></value> > </values> > </table> > <table-set name="MAILLIST-sel"> > <table name="NIAC_MAILLIST" others-mode="session"/> > </table-set> > </root> > > sitemap snippet where I declare the select action > <map:action name="mod-db-sel > src="org.apache.cocoon.acting.modular.DatabaseSelectAction"> > <descriptor>database.xml</descriptor> > <throw-exception>true</throw-exception> > </map:action> > > pipeline where I'm trying to use it. > > > <map:pipeline> > > <!-- A non-trivial interactive example - Cocoon Usage Feedback > Wizard --> > <map:match pattern="wizard*"> > > <map:match type="request-parameter" pattern="cocoon-xmlform-view"> > <map:select type="request-parameter"> > <map:parameter name="parameter-name" > value="cocoon-xmlform-view"/> > <map:when test="registration"> > <!-- > <map:act type="request"> > <map:parameter name="parameters" value="true"/> > --> > <map:act type="req-params"> > <map:parameter name="parameters" value="EMAIL"/> > <map:act type="session-propagator"> > <map:parameter name="NIAC_MAILLIST.EMAIL" > value="{EMAIL}"/> > </map:act> > <map:act type="mod-db-sel" src="optional src"> > <map:parameter name="table-set" value="MAILLIST-sel"/> > </map:act> > </map:act> > </map:when> > </map:select> > </map:match> > > <map:act type="WizardAction"> > > <!-- XMLForm parameters for the AbstractXMLFormAction --> > <map:parameter name="xmlform-validator-schema-ns" > value="http://www.ascc.net/xml/schematron"/> > <map:parameter name="xmlform-validator-schema" > value="schematron/wizard-xmlform-sch-report.xml"/> > <map:parameter name="xmlform-id" value="form-feedback"/> > <map:parameter name="xmlform-scope" value="session"/> > <map:parameter name="xmlform-model" value="niac.list.ListBean"/> > > <!-- Content transformation logic --> > <map:generate type="serverpages" src="wizard/{page}.xsp"/> > <map:transform type="xmlform" label="debug, xml"/> > <map:transform src="stylesheets/wizard2html.xsl" /> > <map:transform > src="context://samples/stylesheets/xmlform/xmlform2html.xsl"/> > <map:serialize type="xhtml"/> > </map:act> > </map:match> > </map:pipeline> > > -- Robert J. (Bobby) Mitchell Systems Administrator NASA Institute for Advanced Concepts 555A 14th St Atlanta, Ga. 30318 Phone: (404)347-9633 Fax: (404)347-9638 --------------------------------------------------------------------- Please check that your question has not already been answered in the FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html> To unsubscribe, e-mail: <[EMAIL PROTECTED]> For additional commands, e-mail: <[EMAIL PROTECTED]>